我的asp.net页面中有一个datalist。我在代码隐藏中绑定了一个数据源 我在这个数据列表中有一个复选框。
var n = from gi in DataContext.Context.GalleryImages
join g in DataContext.Context.Galleries
on gi.GalleryID equals g.GalleryID
where g.UserID == UserID && gi.GalleryID==GalleryID
select new
{
GalleryID = g.GalleryID,
ImageDescription = gi.ImageDescription,
GalleryName = g.GalleryName,
ImageFileName = gi.ImageFileName,
IsAlbumImage = gi.IsAlbumImage,
ImageID=gi.ImageID
};
dlGalleryList.DataSource = n;
dlGalleryList.DataBind();
当“IsAlbumImage”为true时,应选中复选框。 如何将此属性绑定到复选框?
答案 0 :(得分:0)
应该绑定如:
<ItemTemplate>
<asp:CheckBox id="MyCheckBox" runat="server" Checked='<%#Eval("IsAlbumImage") %>' />
</ItemTemplate>
答案 1 :(得分:0)
实际上你必须在数据列表中绑定复选框 1-(推荐)使用Bind或Eval
直接从ASP代码绑定它<ItemTemplate>
<asp:CheckBox id="MyCheckBox" runat="server" Checked='<%#Eval("IsAlbumImage") %>' />
</ItemTemplate>
2-将它绑定在ItemDataBound事件上
首先,您将向您的datalist控件添加事件处理程序,并将布尔值添加到要在itemdatabound事件中使用的数据键
<asp:DataList ID = "DataList1" OnItemDataBound="DataListItemEventHandler" DataKeys = "IsAlbumImage"/>
然后添加绑定此
的C#代码protected void DataListItemEventHandler(object sender, DataListItemEventArgs e)
{
CheckBox checkbx = new CheckBox();
checkbx = (CheckBox)e.Item.FindControl("MyCheckBox");
checkbx.Checked = (bool) DataList1.DataKeys(e.Item.ItemIndex)("IsAlbumImage");
}
答案 2 :(得分:0)
像这样:
<asp:CheckBox
ID="check"
runat="server"
Checked='<%# Eval("column_name").ToString().Equals("1") %>'
/>