2013-09-01 3 views
0

У меня есть datalist на моей странице asp.net. Я связываю источник данных с ним в codebehind , и у меня есть флажок в этом datalist.как связать значение источника данных с флажком в datalist с Eval()

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» верно, флажок должен быть установлен. Как я могу привязать это свойство к флажку?

ответ

0

Следует связывать как:

<ItemTemplate> 
    <asp:CheckBox id="MyCheckBox" runat="server" Checked='<%#Eval("IsAlbumImage") %>' /> 
</ItemTemplate> 
0

На самом деле вы должны способами, чтобы сшить флажок в DataList 1- (рекомендуется) Переплет непосредственно из кода ASP с помощью Bind или Eval

<ItemTemplate> 
    <asp:CheckBox id="MyCheckBox" runat="server" Checked='<%#Eval("IsAlbumImage") %>' /> 
</ItemTemplate> 

2- Связывание его на ItemDataBound Event

Сначала необходимо добавить обработчик событий для вашего DataList управления, и добавляет логическое значение в datake у, которые будут использоваться в 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"); 
} 
0

Как это:

<asp:CheckBox 
    ID="check" 
    runat="server" 
    Checked='<%# Eval("column_name").ToString().Equals("1") %>' 
    />