![](/img/trans.png)
[英]how to prevent dynamically added textbox in gridview to get dispose after postback
[英]How to get value of dynamically added column of datagridview at time of postback
我創建了一個具有動態創建網格視圖功能的表單。
我使用了“如何在網格視圖中動態創建模板列”的概念
鏈接: https : //www.codeproject.com/KB/aspnet/DynamicTemplateColumn.aspx
它運作良好。
我正在創建控件運行時設置控件的不同屬性並將其綁定到gridview列。
例如,如果我想將文本框列添加到gridview中,那么我創建文本框,設置文本框的不同屬性,並將該模板添加到gridview列。
但問題是,一旦頁面datagrid加載了textbox列,我就在該列中輸入一些數據。
然后單擊頁面上的保存按鈕。 當我點擊保存然后回發后我無法獲取該文本框列的數據。
例如
1)使用文本框列加載gridview(添加運行時)
2)在Datagridview中添加了一行
2)在該列中寫入數據(文本框列)
3)單擊“保存”按鈕(保存gridview數據)
4)頁面回發(這里Gridview沒有行!)
頁面回發時顯示行數0!
那么如何獲得該文本框列的值?
請務必在正確的時間訪問該頁面。 如果在OnInit事件中訪問它,ViewState將不會映射回您的網格。
PageLoad可能是合適的。
在我看來它沒有被添加到viewstate,有什么方法可以添加它嗎?
或者,正如Juri所說,viewstate沒有填充,其他控件是否有值?
編輯:也許它沒有被添加到頁面的Controls集合中 - 你能看到它是否在那里?
我忘記了asp.net的生命周期。 我在gridview的“PreRender”和“Unload”事件中獲得了這些數據,從那里我可以將其存儲在哪里。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.