在 aspx vb.net 上打印 asp:Checkbox 内的变量值

Printing variable value inside asp:Checkbox on aspx vb.net

这是我们想要做的事情的示例:我们希望 ID 和 Text 属性根据元素列表是动态的。

<table style="width:100%">
<%
    For Each elem In list
        %>
            <asp:CheckBox runat="server" ClientIDMode="Static" AutoPostBack="true" OnCheckedChanged="CheckValidador" ID="elem.ID" Text="elem.Name" />
        <%
    Next
%>
</table>

使用 CheckBoxList 控件。

checkBoxlist、gridview、listview、repeater(以及更多)都支持数据绑定。因此,您可以根据 send/provide/have 的数据将复选框的数量驱动到该控件。

所以,假设我们的 table:

中有这些数据

所以,我们的标记是这样的:

        <h2>Pick your favorte fruit</h2>
        <asp:CheckBoxList ID="CheckBoxList1" runat="server" 
            DataValueField="ID" DataTextField="Food"
            RepeatDirection="Horizontal" >
        </asp:CheckBoxList>

我们的代码是这样的:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    If Not IsPostBack Then
        LoadData
    End If
End Sub

Sub LoadData()
    Using cmdSQL As New SqlCommand("SELECT ID, Food from Food ORDER BY Food",
                    New SqlConnection(My.Settings.TEST3))

        cmdSQL.Connection.Open()
        CheckBoxList1.DataSource = cmdSQL.ExecuteReader
        CheckBoxList1.DataBind()

    End Using
End Sub

输出:

如果您只想要一个允许的选择,则使用 RadioButtion 列表 - 它的工作方式与上面相同。

这通常取决于您的数据来自何处。您可以针对上述内容使用列表或其他来源。您可以使用循环 - 但在大多数情况下您不需要。