1

bool 値を repeater にバインドしたい。

<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 のみを指定する必要がありますが、checked を返します。true または false を取得するにはどうすればよいですか?

4

5 に答える 5

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"];
}
于 2012-08-27T07:53:37.523 に答える
0

私の実装の 1 つで、ブール値のデータベースから 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;
}

それがあなたを助けることを願っています。

于 2012-08-27T07:54:37.297 に答える
0

clientSide の使用でこれにドットを付けたいeval if statement

<asp:CheckBox ID="CheckBox1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ImageId") %> ' Checked='<%# ((int)Eval("Boolv")) == 1 ? Checked : false %>' /> 
于 2012-08-27T07:52:18.403 に答える
0

使用OnItemDataBound eventするRepeater Control

ここで、同様の質問に対する私の答え

それが助けになることを願っています:)

于 2012-08-27T07:52:21.617 に答える
0

数日前、リピーターとその中のチェックボックスにも問題がありました。チェックボックスの値を bool 変数にバインドしたかったのです。

これが私の投稿です。投稿で受け入れられた回答を使用して問題を解決しました。 回答リンク

乾杯!

于 2012-08-27T07:50:17.080 に答える