我想将bool值绑定到转发器。
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<br />
<img ID="ImageZoom" runat="server" src='<%# DataBinder.Eval(Container.DataItem, "ImageUrl") %> ' style="display: inline; height:auto; left: 0pt; top: 0pt; width:auto;" />
<asp:CheckBox ID="CheckBox1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ImageId") %> ' Checked='<%# DataBinder.Eval(Container.DataItem, "Boolv") %>' />
</ItemTemplate>
</asp:Repeater>
此处页面加载检查应该只有true或false但是返回已选中。我怎么能得到真或假?
答案 0 :(得分:2)
相反,为了摆弄aspx标记,我会在ItemDataBound
中这样做:
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
RepeaterItem ri = e.Item;
DataRowView dr = (DataRowView)ri.DataItem;
CheckBox CheckBox1 = (CheckBox)ri.FindControl("CheckBox1");
CheckBox1.Checked = (bool)dr["Boolv"];
}
答案 1 :(得分:0)
答案 2 :(得分:0)
我想在客户端使用eval if statement
<asp:CheckBox ID="CheckBox1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ImageId") %> ' Checked='<%# ((int)Eval("Boolv")) == 1 ? Checked : false %>' />
答案 3 :(得分:0)
答案 4 :(得分:0)
在我的一个实现中,我从数据库中得到1和0的布尔值,所以我的实现是:
<asp:CheckBox ID="chkAssign" runat="server" Checked=<%# TranslateAction(((System.Data.DataRowView)Container.DataItem)["ISACTIVE"].ToString())%> />
在后面的代码中我有一个名为TranslateAction的方法:
protected Boolean TranslateAction(String status)
{
if (status == "1")
return true;
else
return false;
}
我希望它会帮助你。