如何将bool值绑定到转发器中的复选框?

时间:2012-08-27 07:45:48

标签: asp.net webforms

我想将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但是返回已选中。我怎么能得到真或假?

5 个答案:

答案 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)

几天前,我也遇到了转发器问题,还有一个复选框。我想将复选框的值绑定到bool变量。

这是我的帖子。我已经使用帖子中接受的答案解决了我的问题。 answer link

干杯!

答案 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)

OnItemDataBound event

上使用Repeater Control

here我对类似问题的回答

希望有所帮助:)

答案 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;
}

我希望它会帮助你。