我正在開發一個Web應用程序,我需要能夠訪問ViewState值並用這些值重新填充控件。我想利用現有的哈希/存儲ViewState值不創建自定義ViewState值。從ViewState解析和檢索屬性?
如何從特定控件的頁面ViewState中檢索值/屬性?
任何洞察力是讚賞。 謝謝!
我正在開發一個Web應用程序,我需要能夠訪問ViewState值並用這些值重新填充控件。我想利用現有的哈希/存儲ViewState值不創建自定義ViewState值。從ViewState解析和檢索屬性?
如何從特定控件的頁面ViewState中檢索值/屬性?
任何洞察力是讚賞。 謝謝!
以下Blog似乎有幫助。我真的同意「真正瞭解ViewState」的標題
有一個很好的例子,你可以從webcontrols繼承和訪問他們的道具。
ASP.NET已經利用ViewState來保存控件值並在回發之後重新填充它們,所以如果這正是您想要的,那麼您不需要觸摸ViewState。如果你需要存儲在ViewState中無關緊要的信息,你可以在ViewState中像你這樣的一組數據對任何其他鍵/值集合:
//store value in viewstate
ViewState["someValue"] = "Foo";
//retrieve value from viewstate
string someValue = ViewState["someValue"].ToString();
這上面只是一個簡單的例子,但你可以存儲幾乎任何東西在ViewState中。也就是說,不應該使用ViewState來存儲結果集等大型對象。ViewState會被編碼並存儲在頁面中,大型對象可能會快速膨脹ViewState並降低頁面性能以及其他不良副作用。
我沒有設定這些值,如上所述。我不創建自定義視圖狀態值。我想訪問已經自動生成的ViewState屬性,對於每個控件,在頁面的整個生命週期中 – Encryption
是這樣的?
private string GetValue
{
get
{
string result = string.empty;
if (ViewState["someID"] != null)
{
result = (string)ViewState["someID"];
}
return result;
}
set
{
ViewState["someID"] = value;
}
}
我沒有設置這些值,如上所述。我不創建自定義視圖狀態值。我想在整個頁面的整個生命週期內訪問已經自動生成的ViewState屬性。 – Encryption
所以你需要一些像enurate所有viewstate值的東西? – sasjaq
感謝您的文章。消化很多信息。我會閱讀它,但在此期間,如果可能的話,是否有人有簡短的答案? – Encryption