将复选框添加到复选框和标签列表中
本文关键字:复选框 列表 标签 添加 | 更新日期: 2024-10-19 18:46:48
<table style="width: 98%; height: 100%; text-align: left">
<tr>
<td valign="top">
<asp:CheckBoxList ID="c1" runat="server" DataTextField="Title" DataValueField="Id" RepeatDirection="Horizontal"
OnDataBound="cblAvailableWidgetSelector_DataBound">
</asp:CheckBoxList>
<asp:CheckBox ID="CheckBox1" runat="server" />
<label runat="server" id="lblMessage" style="padding: 3px;" />
</td>
</tr>
</table>
在这里,我得到了附加的复选框和标签列表。
示例:我得到,
Checkbox Item1
Checkbox Item2
Checkbox Item3
但我想要,
Checkbox Checkbox Item1
Checkbox Checkbox Item2
Checkbox Checkbox Item3
我正在使用复选框列表项,但是如何根据需要获取输出。
在代码文件中,
DataTable dt = //datatable, which I get
c1.DataSource = dt;
c1.DataBind();
因此,我得到了复选框列表和一个带有值的标签,但我想在此列表中再添加 1 个复选框。我该怎么做?
更新
尝试使用它,
<asp:Repeater runat="server" ID="CheckBoxRepeater">
<ItemTemplate>
<asp:CheckBox ID="c1" OnDataBinding="c1_DataBound" runat="server" Checked="<%# Convert.ToBoolean(Eval("Id")) %>" />
<asp:CheckBox ID="CheckBox2" runat="server" />
<asp:Label ID="lblMessage" runat="server" style="padding: 3px;" Text="<%# Eval("Title") %>" />
</ItemTemplate>
</asp:Repeater>
但它仍然不起作用。
Error: The server tag is not well formed.
CheckBoxList 不允许您自定义模板,因此它太有限,无法实现您要做的事情。但这应该很容易用中继器模仿:
<asp:Repeater runat="server" ID="CheckBoxRepeater">
<ItemTemplate>
<asp:CheckBox runat="server" Checked="<%# Eval("BoolProperty1") %>" />
<asp:CheckBox runat="server" Checked="<%# Eval("BoolProperty2") %>" />
<asp:Label runat="server" Text="<%# Eval("TextProperty") %>" />
</ItemTemplate>
</asp:Repeater>
如果需要双向绑定,请确保使用 Bind 而不是 Eval。
取而代之的是:
Checked="<%# Convert.ToBoolean(Eval("Id")) %>"
试试这个:
Checked="<%# Convert.ToBoolean(Eval('Id')) %>"
ASP.NET 对渲染块中的引号很挑剔。您需要交替 - 一组是双引号,一组是单引号。