2012-08-27 34 views
0

我想綁定布爾值到中繼器。如何將布爾值綁定到中繼器中的複選框?

<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> 

這裏在頁面加載檢查應該只有真或假,但它的返回檢查。我如何得到真假?

回答

0

幾天前,我也有一箇中繼器和複選框的問題。我想將複選框的值綁定到bool變量。

這是我的文章。我已經使用帖子中接受的答案解決了我的問題。 answer link

乾杯!

0

我要在客戶方使用,以點此eval if statement

<asp:CheckBox ID="CheckBox1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ImageId") %> ' Checked='<%# ((int)Eval("Boolv")) == 1 ? Checked : false %>' /> 
0

使用OnItemDataBoundeventRepeaterControl

here我的回答類似的問題

希望它幫助:)

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"]; 
} 
+0

@ user1619151:Boolv是一個布爾值嗎?你說_「它的返回檢查」_而不是「真/假」。也許你已經存儲了一個字符串_「checked」_。然後試試這個:'CheckBox1.Checked = dr [「Boolv」]。Equals(「checked」);'。 –

+0

ya。我做了,當我調試時,它正確地來到了那裏,但是在ascx頁面上我變得像上面那樣。我通過使用檢查元素 – user1619151

+0

看到了這個謝謝。它工作 – user1619151

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

我希望它會幫助你的。

相關問題