【问题标题】:Printing variable value inside asp:Checkbox on aspx vb.net在asp中打印变量值:aspx vb.net上的复选框
【发布时间】:2021-10-02 09:36:22
【问题描述】:

这是我们想要做的示例:我们希望 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>

【问题讨论】:

  • 使用中继器控件
  • 专业提示:请帮助,我要疯了。这样的句子不是必需的,不建议使用

标签: asp.net vb.net


【解决方案1】:

使用 CheckBoxList 控件。

checkBoxlist、gridview、listview、repeater(以及更多)都支持数据绑定。因此,您可以根据您向该控件发送/提供/拥有的数据来驱动复选框的数量。

所以,假设我们的表中有这些数据:

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

        <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 列表 - 它的工作方式与上述相同。

这通常取决于您的数据来自哪里。您可以使用上述列表或其他来源。而且您可以使用循环 - 但在大多数情况下您不需要。

【讨论】:

    猜你喜欢
    • 2015-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    相关资源
    最近更新 更多