c#
  • asp.net
  • gridview
  • templatefield
  • 2015-04-03 54 views 1 likes 
    1

    我無法檢索在我的GridView中的文本框模板字段中輸入的新值。無法從GridView模板字段中檢索新值

    這裏是我的標記:

    <asp:TemplateField HeaderText="username" SortExpression="username"> 
        <ItemTemplate> 
         <asp:Label ID="Label2" runat="server" Text='<%# Bind("username") %>'></asp:Label> 
        </ItemTemplate> 
        <EditItemTemplate> 
         <asp:TextBox ID="txtUserName" runat="server" Text='<%# Bind("username") %>'></asp:TextBox> 
        </EditItemTemplate> 
    </asp:TemplateField> 
    

    這裏是如何我試圖檢索新的價值,我的GridView的RowCommand事件處理中:

    string userName = ((TextBox)grdUserList.Rows[rowIndex].FindControl("txtUserName")).Text; 
    

    我得到的是舊值而不是新輸入的值,當我執行此代碼。

    有人知道我失蹤了嗎?提前致謝。

    +0

    你能告訴我們你綁定gridview的代碼嗎? – Adil 2015-04-03 05:14:43

    +0

    @Adil嗨。我剛剛發現瞭解決問題的方案。我搜索並發現在檢索過程開始之前GridView正在刷新,因爲我正在重新綁定Page_Load方法上的GridView。我通過不重新綁定GridView的方式解決了這個問題(或者至少在我做出更改之前)。感謝您的回覆無論如何:) – Rian 2015-04-03 05:34:01

    +0

    我在想,你綁定GridView的回發和丟失新輸入的值。 – Adil 2015-04-03 05:39:09

    回答

    0
    use this code in gridview  
    
        <Columns> 
    
        <asp:TemplateField HeaderText="SrNo"> 
        <EditItemTemplate> 
    
        <asp:TextBox ID="txtsrno" runat="server" Text='<%#Eval("SrNo") %>'> 
        </asp:TextBox> 
        </EditItemTemplate> 
    
    
        <ItemTemplate> 
        <asp:Label ID="lblsrno" runat="server" Text='<%#Eval("SrNo") %>'> 
        </asp:Label> 
    
        </ItemTemplate> 
        </asp:TemplateField> 
        </Columns> 
    
    1

    您正在錯誤的GridView事件中檢索新值。您必須在GridView控件中添加OnRowUpdating="grdUserList_RowUpdating"事件,然後檢索新的TextBox值。

    OnRowUpdating事件的代碼隱藏:

    protected void grdUserList_RowUpdating(object sender, GridViewUpdateEventArgs e) 
    { 
        string userName = ((TextBox)grdUserList.Rows[e.RowIndex].FindControl("txtUserName")).Text; 
    
        // Write your update query and logic over here. 
    } 
    

    您可以從here額外的知識提供參考。

    請讓我知道如果您有任何問題。

    1

    我剛剛發現了我的問題的解決方案。我搜索並發現在檢索過程開始之前GridView正在刷新,因爲我正在重新綁定Page_Load方法上的GridView。我通過在使用IsPostback方法進行回發(或者至少不是在進行更改之前)時重新綁定gridview來解決問題。感謝大家的回覆:)

    相關問題