在服务器端绑定 asp.net 复选框



我有一个搜索功能,其中复选框应该根据这些复选框是多个的数据来选中或取消选中,我在服务器端这样做,我有的是代码

<asp:CheckBox ID="AApBlue" runat="server"Checked='<%#GetBoolean(Eval("blueFlag").ToString()) %>'/>Blue
.cs file 
protected Boolean GetBoolean(string val)
{
    return val == "Y" ? true : false;
}

我收到一个错误:

对象引用空指针异常

请帮忙!

方法 1:

您应该尝试 ItemDataBound 事件,添加一个 Label 并将其设置为可见 false:

<asp:CheckBox ID="AApBlue" runat="server" />
<asp:Label ID="Label1" Text='<% # Eval("blueFlag") %>' Visible="false" runat="server" >
</asp:Label>
.CS File:
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || 
        e.Item.ItemType == ListItemType.AlternatingItem)
    {
        CheckBox chk = e.Item.FindControl("AApBlue") as CheckBox;
        Label lbl = e.Item.FindControl("Label1") as Label;
        chk.Checked = (lbl.Text == "Y") ? true : false;
    }
}

注意:不要忘记在数据列表中添加OnItemDataBound事件。

<asp:DataList ID="DataList1" OnItemDataBound="DataList1_ItemDataBound" runat="server">

方法2:

您可以在选中的复选框中使用三元运算符,如下所示:

Checked='<% # (Eval("blueFlag").ToString() == "Y") ? true : false %>' 

相关内容

  • 没有找到相关文章

最新更新