2009-07-05 4 views
1
private void BindDataList() 
{ 
     int userId = Convert.ToInt32(ProfileInfo.GetUserID()); 
     DataList1.DataSource = CatalogAccess.GetAddressByUserID(userId); 
     DataList1.DataBind(); 
     foreach (DataListItem item in DataList1.Items) 
     { 
      Label lbl = (Label)item.FindControl("lbl"); 
      lbl.Text = "myLabel"; 
     } 
    } 

    protected void DataList1_EditCommand(object source, DataListCommandEventArgs e) 
    { 
     int userId = Convert.ToInt32(ProfileInfo.GetUserID());   
     DataList1.EditItemIndex = e.Item.ItemIndex; 
     DataList1.DataSource = CatalogAccess.GetAddressByUserID(userId); 
     DataList1.DataBind(); 
     Label lbl = (Label)e.Item.FindControl("lbl") as Label; 
     lbl.Text = "edit mode"; 
    } 

<asp:DataList ID="DataList1" runat="server" oneditcommand="DataList1_EditCommand" > 
     <ItemTemplate> 
        <asp:Label ID="lblAddressID" runat="server" Text='<%# Bind("addressID") %>'/> 
        <asp:Label ID="lbl" runat="server" /> 
        <asp:Button runat="Server" ID="cmdEdit" CommandName="Edit" Text="Edit"/> 
      </ItemTemplate>    
      <EditItemTemplate> 
        <asp:TextBox ID="txtAddressID" runat="server" Text='<%# Bind("addressID") %>' BackColor="#FFFF66" />   
        <asp:Label ID="lbl" runat="server"/> 
        <asp:Button runat="Server" ID="cmdUpdate" CommandName="Update" Text="Update" /> 
        <asp:Button runat="Server" ID="cmdCancel" CommandName="Cancel" Text="Cancel"/> 
      </EditItemTemplate> 
     </asp:DataList> 

ответ

1

Шаг 1: связывают данные где-то

Шаг 2: обрабатывать событие OnItemDataBound и найти свой контроль здесь, похожее на следующее ...

protected void DataList1__ItemDataBound(Object sender, DataListItemEventArgs e) 
    { 
    if (e.Item.ItemType == ListItemType.EditItem) 
    { 
     Label lbl = (Label)e.Item.FindControl("lbl"); 
     lbl.Text = "edit mode"; 
    } 
    } 

Для получения дополнительной информации об этом событии см. MSDN example. Вы должны проверить ItemType. В этом случае он находится в режиме редактирования, иначе вы проверяете список или альтернативный элемент и т. Д.

+0

Работы, спасибо большое – 2009-07-05 18:50:14