2010-02-19 2 views
0

Я работаю над приложением, в котором я использую событие rowupdating gridview. Я использую templatefield в своих столбцах, поэтому я не могу получить новые значения из текстовых полей, которые у меня есть в gridview. Как я могу получить новые значения из текстовых полей. Ниже мой код в RowUpdating:rowupdating не давая новых значений

protected void gviewTemplate_RowUpdating(object sender, GridViewUpdateEventArgs e) 
{ 
    gviewTemplate.EditIndex = -1; 
    string rowNum = ViewState["ID"].ToString(); 
    Label lbl2 = (Label)gviewTemplate.Rows[e.RowIndex].FindControl("lblTemplateName"); 
    Label lbl1 = (Label)gviewTemplate.Rows[e.RowIndex].FindControl("lblUploaded"); 

    TextBox txtTempName = (TextBox)gviewTemplate.Rows[e.RowIndex].FindControl("txtTemplateName"); 
    TextBox txtHeading = (TextBox)gviewTemplate.Rows[e.RowIndex].FindControl("txtHeading"); 
    TextBox txtCoupon = (TextBox)gviewTemplate.Rows[e.RowIndex].FindControl("txtCouponText"); 
    TextBox txtBrand = (TextBox)gviewTemplate.Rows[e.RowIndex].FindControl("txtBrandName"); 
    TextBox txtSearchText = (TextBox)gviewTemplate.Rows[e.RowIndex].FindControl("txtSearch"); 
    TextBox txtDiscount = (TextBox)gviewTemplate.Rows[e.RowIndex].FindControl("txtDiscount"); 
    TextBox txtStartDt = (TextBox)gviewTemplate.Rows[e.RowIndex].FindControl("txtStartDt"); 
} 

я хочу, чтобы получить новые значения формируют эти текстовые поля, но она всегда дает мне старые значения. и да, e.Newvalues ​​не дает мне ничего. Он всегда пуст. Это небольшой отрывок из моего дизайна сетки:

<asp:GridView runat="server" AutoGenerateColumns="False" 
         ID="gviewTemplate" onrowdatabound="gviewTemplate_RowDataBound" DataKeyNames="F1" 
         onrowcommand="gviewTemplate_RowCommand" 
         onrowediting="gviewTemplate_RowEditing" 
         onrowcancelingedit="gviewTemplate_RowCancelingEdit" 
         onrowupdating="gviewTemplate_RowUpdating" 
         onrowdeleting="gviewTemplate_RowDeleting" 
         onrowupdated="gviewTemplate_RowUpdated"> 
         <Columns> 
          <asp:TemplateField HeaderText="Uploaded Image"> 
          <EditItemTemplate> 
           <asp:LinkButton Text="Reload" runat="server" OnClick="lbtnReloadImage_Click" CommandName="reload" ID="lbtnReloadImage"></asp:LinkButton> 
          </EditItemTemplate> 
           <ItemTemplate> 
            <table id="Table2" runat="server" width="100%" cellpadding="0" cellspacing="0" border="0"> 
             <tr> 
              <td> 
               <asp:Label Runat="server" Text='<%# Eval("Uploaded") %>' ID="lblUploaded"></asp:Label> 
              </td> 
             </tr> 
            </table> 
           </ItemTemplate> 
          </asp:TemplateField> 
          <asp:TemplateField HeaderText="Template Name"> 
           <ItemStyle VerticalAlign="Top" HorizontalAlign="Center" /> 
           <EditItemTemplate> 
            <asp:TextBox ID="txtTemplateName" Width="60" Runat="server" Text='<%# Eval("F1") %>'></asp:TextBox> 
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" Runat="server" 
            ErrorMessage="You must provide a Product Name." ControlToValidate="txtTemplateName">*</asp:RequiredFieldValidator> 
           </EditItemTemplate> 
           <ItemTemplate> 
            <table id="Table3" runat="server" width="100%" cellpadding="0" cellspacing="0" border="0"> 
             <tr> 
              <td> 
               <asp:Label ID="lblTemplateName" runat="server" Text='<%# Eval("F1") %>'></asp:Label> 
              </td> 
             </tr> 
            </table> 
           </ItemTemplate> 
          </asp:TemplateField> 
          <asp:TemplateField HeaderText="Heading"> 
           <ItemStyle VerticalAlign="Top" HorizontalAlign="Center" /> 
           <EditItemTemplate> 
            <asp:TextBox ID="txtHeading" Runat="server" Width="60" Text='<%# Eval("F2") %>'></asp:TextBox> 
            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" Runat="server" 
            ErrorMessage="You must provide a Product Name." ControlToValidate="txtHeading">*</asp:RequiredFieldValidator> 
           </EditItemTemplate> 
           <ItemTemplate> 
            <table id="Table4" runat="server" width="100%" cellpadding="0" cellspacing="0" border="0"> 
             <tr> 
              <td> 
               <asp:Label ID="lblHeading" runat="server" Text='<%# Eval("F2") %>'></asp:Label> 
              </td> 
             </tr> 
            </table> 
           </ItemTemplate> 
          </asp:TemplateField> 
          <asp:TemplateField HeaderText="Coupon Text"> 
           <ItemStyle VerticalAlign="Top" HorizontalAlign="Center" /> 
           <EditItemTemplate> 
            <asp:TextBox ID="txtCouponText" Runat="server" Width="80" Text='<%# Bind("F3") %>'></asp:TextBox> 
            <asp:RequiredFieldValidator ID="RequiredFieldValidator3" Runat="server" 
            ErrorMessage="You must provide a Product Name." ControlToValidate="txtCouponText">*</asp:RequiredFieldValidator> 
           </EditItemTemplate> 
           <ItemTemplate> 
            <table id="Table5" runat="server" width="100%" cellpadding="0" cellspacing="0" border="0"> 
             <tr> 
              <td> 
               <asp:Label Runat="server" Text='<%# Bind("F3") %>' ID="lblCouponText"></asp:Label> 
              </td> 
             </tr> 
            </table> 
           </ItemTemplate> 
          </asp:TemplateField> 

Может ли кто-нибудь рассказать мне, как получить новые значения из этих текстовых полей?

+0

как я сделать это, я не знаю, как принять ответы – pankaj

ответ

3

Не пересвяжите GridView, просто связав его, если страница не

обратной передачи
2

вам нужно связать сетку, как Если не IsPostBack Тогда 'связывают конец, если

Смежные вопросы