के बाद गतिशील कॉलम गायब हो जाते हैं मेरे पास BoundFields
और दो TemplateFields
के साथ GridView
है। इन दो TemplateFields
में, मैं गतिशील रूप से UserControls
बना रहा हूं जिसमें DropDownList
और TextBox
है, जो उपयोगकर्ता संशोधित कर सकते हैं।पोस्टबैक
जब मैं PostBack
के बाद नियंत्रण के मान प्राप्त करने का प्रयास करता हूं, तो BoundFields
में मान अभी भी वहां हैं लेकिन मेरे गतिशील नियंत्रण गायब हो जाते हैं। मैं उन्हें फिर से बना सकता हूं लेकिन इसे उपयोगकर्ता के मूल्य नहीं मिलेगा ... मैं इन मानों को खोने से पहले कैसे प्राप्त कर सकता हूं?
RowDataBound
घटना में:
Select Case type
Case "BooleanBis"
e.Row.Cells(2).Controls.Clear()
Dim list1 As BooleanBisList = New BooleanBisList(avant, False)
e.Row.Cells(2).Controls.Add(list1)
e.Row.Cells(4).Controls.Clear()
Dim list2 As BooleanBisList = New BooleanBisList(apres, True)
e.Row.Cells(4).Controls.Add(list2)
Case "Boolean"
e.Row.Cells(2).Controls.Clear()
Dim list3 As BooleanList = New BooleanList(avant, False)
e.Row.Cells(2).Controls.Add(list3)
e.Row.Cells(4).Controls.Clear()
Dim list4 As BooleanList = New BooleanList(apres, True)
e.Row.Cells(4).Controls.Add(list4)
End Select
मेरी बटन क्लिक करें घटना में, मैं उपयोगकर्ता नियंत्रण प्राप्त करने की कोशिश:
यहाँ मेरी कोड के कुछ है
Case "String"
temp.ChampValeurApres = DirectCast(Tableau1.Rows(i).Cells(selectedColumn).Controls(1), TextBox).Text
लेकिन मुझे त्रुटि मिलती है कि यह अस्तित्व में नहीं है।
बहुत बहुत धन्यवाद! मुझे अभी भी एक समस्या है, मेरे पास पढ़ने के नियंत्रण के साथ कॉलम है। और इन नियंत्रणों का मान पोस्टबैक के बाद पुनर्प्राप्त नहीं किया गया है। कोई उपाय ? – user874854
@ user874854: 'readonly' नियंत्रण ViewState में क्लाइंटसाइड पर परिवर्तनों को बनाए रखता है (केवल सर्वरसाइड पर परिवर्तन)। उन्हें [गुण] के माध्यम से 'readonly' बनाएं' (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.attributes.aspx) -कोलेक्शन, उदाहरण के लिए: 'TextBox1.Attributes .Add ("केवल पढ़ने के लिए", "केवल पढ़ने के लिए"); '। इस तरह आप ASP.NET को मूर्ख बनाते हैं। देखो [यहां] (http://www.codeproject.com/KB/aspnet/Readonly.aspx) आगे के इंफोस के लिए। –