我已經使用asp:table/cell組合創建了一個動態矩陣顯示。並添加了在每個單元格中顯示值的文本框。在這一點上,我創建了一個視圖狀態,它完整的表格。asp.net如何通過回發來存儲文本框值(表格)
現在如果我更新文本框並單擊保存,我得到空表(由於回發),並且ViewState中的值也是陳舊的 - 它們不是更新後的用戶值。
所以有沒有辦法在每個文本框更改上創建視圖狀態。我如何存儲編輯的文本框值?
我已經使用asp:table/cell組合創建了一個動態矩陣顯示。並添加了在每個單元格中顯示值的文本框。在這一點上,我創建了一個視圖狀態,它完整的表格。asp.net如何通過回發來存儲文本框值(表格)
現在如果我更新文本框並單擊保存,我得到空表(由於回發),並且ViewState中的值也是陳舊的 - 它們不是更新後的用戶值。
所以有沒有辦法在每個文本框更改上創建視圖狀態。我如何存儲編輯的文本框值?
您不需要存儲文本框的值,因爲它們都已準備好回傳。
你只需要從帖子後面讀取它們。
Request.Form[YourTextBox.UniqueID]
現在,如果你想將它們保存在ViewState中,你可以使用如下代碼
string YouData
{
set
{
ViewState["cYouData"] = value;
}
get
{
if (ViewState["cYouData"] != null)
return ViewState["cYouData"].ToString();
else
return string.Empty;
}
}
但唯一的理由這樣做,就是要了解,如果事情有變化,並發現某件事有改變一個簡單的散列可以完成這項工作。
檢測回傳,有重新加載值:
if (!Page.IsPostBack)
{
// initial load
}
else
{
// postback
}
你怎麼知道的ViewState是陳舊的?這種問題通常是在視圖狀態被連接之前不重新創建控件的結果。我認爲你需要發佈你的動態生成代碼來獲得任何有意義的答案。任何你不使用TemplateField的DataGridView的理由? – 2011-04-08 19:52:24
爲什麼不使用asp.net的viewstate? – 2011-04-08 19:53:05