/ / FindControl ("someTextBox") GridView में अद्यतन मान नहीं भेज रहा है - asp.net, ग्रिडव्यू

ग्रिड व्यू में FindControl ("someTextBox") अद्यतन मूल्य - asp.net, ग्रिडव्यू नहीं भेज रहा है

मैं सूची से एक ग्रिडव्यू populating मैं मजबूर हूँसंपादन की अनुमति देने के लिए टेम्पलेटफ़ाइल नियंत्रण का उपयोग करने के लिए। इसके लिए संपादन मोड में जब मूल मोड के साथ पॉप्युलेट प्रदर्शित किया गया है और अपडेट सबमिट पर नया मान प्राप्त करने के लिए FindControl का उपयोग करना आवश्यक है।

समस्या मिली हैTextBox.Text == "OriginalTextBoxValue"

 <asp:TemplateField HeaderText="A Field">
<ItemTemplate>
<asp:Label ID="_theLabel" runat="server" Text="<%# Eval("AField") %>" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="_theTextBox" runat="server" Text="<%# Eval("AField") %>" />
</EditItemTemplate>
</asp:TemplateField>

और मेरे अपडेट इवेंट हैंडलर में कोड

TextBox newText = (TextBox)_myGridView.Rows[e.RowIndex].FindControl("_thTextBox");
//newText.Text == the old value of the text box

उत्तर:

उत्तर № 1 के लिए 4

क्या आपका ग्रिडव्यू प्रत्येक पोस्टबैक पर बाध्य है? यह समझा सकता है कि आपको अद्यतन मूल्य क्यों नहीं मिलता है, क्योंकि टेक्स्टबॉक्स पढ़ने से पहले ग्रिडव्यू को पुनर्निर्मित किया जाता है।

क्या आप अपनी पूरी अद्यतन विधि पेस्ट कर सकते हैं?


जवाब के लिए 0 № 2

आपको गलत ईवेंट हैंडलर में कोड मिला है। इसे संपादन ईवेंट हैंडलर पर ले जाएं, इसलिए जब भी उपयोगकर्ता पंक्ति के लिए संपादन कमांड पर क्लिक करता है तो यह टेक्स्टबॉक्स पॉप्युलेट करेगा।