2012-05-17 24 views
0

我怎樣才能找到控件lblCategoryNameddlBlogCategory我找不到控件的lblCategoryName和ddlBlogCategoty編輯按鈕在Gridview中單擊

這裏是我的代碼:

protected void grdRetailStore_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      Label lblAccount = (Label)e.Row.FindControl("lblCategoryName"); 
      string s = lblAccount.Text; 
      DropDownList ddlBlogCategory = (DropDownList)e.Row.FindControl("ddlBlogCategoty"); 
      DAO.DAO dao_category = new DAO.DAO(); 
      DataTable dt_blog_cat = dao_category.SelectCategory(); 
      if (ddlBlogCategory != null) 
      { 
       // ddlBlogCategory.Items.Clear(); 
       ddlBlogCategory.DataSource = dao_category.SelectCategory(); 
       ddlBlogCategory.DataTextField = "CategoryName"; 
       ddlBlogCategory.DataValueField = "BlogCategoryID"; 
       ddlBlogCategory.DataBind(); 
      } 
     } 
    } 


<asp:GridView ID="grdRetailStore" runat="server" AutoGenerateColumns="false" DataKeyNames="PortalId" OnRowEditing="grdRetailStore_RowEditing" 
       OnRowCancelingEdit="grdRetailStore_RowCancelingEdit"  OnRowDataBound="grdRetailStore_RowDataBound"> 
       <Columns> 

        <asp:TemplateField HeaderText="ID"> 
         <HeaderStyle Width="100px" Wrap="False" /> 
         <EditItemTemplate> 
          <asp:Label ID="lblId" runat="server" Text='<%# Bind("PortalId") %>'></asp:Label> 
         </EditItemTemplate> 
         <ItemTemplate> 
          <asp:Label ID="lblId" runat="server" Text='<%# Bind("PortalId") %>'></asp:Label> 
         </ItemTemplate> 
        </asp:TemplateField> 

        <asp:TemplateField HeaderText="AdvertiserName"> 
         <HeaderStyle Width="100px" Wrap="False" /> 
         <EditItemTemplate> 
          <asp:TextBox ID="txtAdvName" runat="server" Text='<%# Bind("AdvertiserName") %>'></asp:TextBox> 
         </EditItemTemplate> 
         <ItemTemplate> 
          <asp:Label ID="lblAdvName" runat="server" Text='<%# Bind("AdvertiserName") %>'></asp:Label> 
         </ItemTemplate> 
        </asp:TemplateField> 

        <asp:TemplateField HeaderText="PromoCategory"> 
         <HeaderStyle Width="100px" Wrap="False" /> 
         <EditItemTemplate> 
          <%-- <asp:DropDownList ID="" runat="server" DataTextField="Account_Name" DataValueField="Account_Id" 
           AppendDataBoundItems="true"> 
           <%-- <asp:ListItem Selected="True" Text="---Select---" Value="0"></asp:ListItem></asp:DropDownList> --%> 
          <asp:TextBox ID="txtPromoCat" runat="server" Text='<%# Bind("PromoCatId") %>'></asp:TextBox> 
         </EditItemTemplate> 
         <ItemTemplate> 
          <asp:Label ID="lblPromoCat" runat="server" Text='<%# Bind("PromoCatId") %>'></asp:Label> 
         </ItemTemplate> 

        </asp:TemplateField> 

        <asp:TemplateField HeaderText="Start Date"> 
         <HeaderStyle Width="100px" Wrap="False" /> 
         <EditItemTemplate> 
          <asp:TextBox ID="txtPromostartdate" runat="server" Text='<%# Bind("PromoStartDate") %>'></asp:TextBox> 
         </EditItemTemplate> 
         <ItemTemplate> 
          <asp:Label ID="lblPromostartdate" runat="server" Text='<%# Bind("PromoStartDate") %>'></asp:Label> 
         </ItemTemplate> 

        </asp:TemplateField> 

        <asp:TemplateField HeaderText="End Date"> 
         <HeaderStyle Width="100px" Wrap="False" /> 
         <EditItemTemplate> 
          <asp:TextBox ID="txtPromoenddate" runat="server" Text='<%# Bind("PromoEndDate") %>'></asp:TextBox> 
         </EditItemTemplate> 
         <ItemTemplate> 
          <asp:Label ID="lblPromoenddate" runat="server" Text='<%# Bind("PromoEndDate") %>'></asp:Label> 
         </ItemTemplate> 

        </asp:TemplateField> 



        <asp:TemplateField HeaderText="Html Code"> 
         <HeaderStyle Width="100px" Wrap="False" /> 
         <EditItemTemplate> 
          <asp:TextBox ID="txtHtml" runat="server" Text='<%# Bind("HtmlCode") %>'></asp:TextBox> 
         </EditItemTemplate> 
         <ItemTemplate> 
          <asp:Label ID="lblHtml" runat="server" Text=""></asp:Label> 
         </ItemTemplate> 

        </asp:TemplateField> 

        <asp:TemplateField HeaderText="CategoryName"> 
         <HeaderStyle Width="100px" Wrap="False" /> 
         <EditItemTemplate> 
          <asp:DropDownList ID="ddlBlogCategoty" runat="server" DataTextField="CategoryName" DataValueField="BlogCategoryID" 
           AppendDataBoundItems="true"> 
           <asp:ListItem Selected="True" Text="---Select---" Value="0"></asp:ListItem></asp:DropDownList> 
          </EditItemTemplate> 
         <ItemTemplate> 
          <asp:Label ID="lblCategoryName" runat="server" Text='<%# Bind("CategoryName") %>'></asp:Label> 
         </ItemTemplate> 

        </asp:TemplateField> 

        <asp:TemplateField HeaderText="Edit" ShowHeader="False"> 
         <HeaderStyle Width="100px" Wrap="False" /> 
         <EditItemTemplate> 
          <asp:LinkButton ID="lbkUpdate" runat="server" CausesValidation="True" CommandName="Update" 
           Text="Update" OnClientClick="return ValidateUpdate();"></asp:LinkButton> 
          <asp:LinkButton ID="lnkCancel" runat="server" CausesValidation="False" CommandName="Cancel" 
           Text="Cancel"></asp:LinkButton> 
         </EditItemTemplate> 

         <ItemTemplate> 
          <asp:LinkButton ID="lnkEdit" runat="server" CausesValidation="False" CommandName="Edit" 
           Text="Edit"></asp:LinkButton> 
         </ItemTemplate> 
        </asp:TemplateField> 
       </Columns> 
       </asp:GridView> 
+0

您是否收到任何特定錯誤? dt_blog_cat有什麼用? – V4Vendetta

+0

請添加網格的HTML以及 – Adil

+0

user1153540

回答

0

後面更改代碼,包括RowState的的檢查。

protected void grdRetailStore_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     if (e.Row.RowState == DataControlRowState.Normal) 
     { 
      Label lblAccount = (Label)e.Row.FindControl("lblCategoryName"); 
      string s = lblAccount.Text; 
     } 
     if (e.Row.RowState == DataControlRowState.Edit) 
     { 
      DropDownList ddlBlogCategory = (DropDownList)e.Row.FindControl("ddlBlogCategoty"); 
      if (ddlBlogCategory != null) 
      { 
       // ddlBlogCategory.Items.Clear(); 
       ddlBlogCategory.DataSource = dao_category.SelectCategory(); 
       ddlBlogCategory.DataTextField = "CategoryName"; 
       ddlBlogCategory.DataValueField = "BlogCategoryID"; 
       ddlBlogCategory.DataBind(); 
      } 
     } 
     DAO.DAO dao_category = new DAO.DAO(); 
     DataTable dt_blog_cat = dao_category.SelectCategory(); 
    } 
} 
相關問題