簡體   English   中英

如何在回發時獲取動態添加的datagridview列的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM