1
A
回答
0
這是關鍵語句:
所需的ViewState值
但功能並不真正需要「的ViewState」值的函數, - 他們只需要值。如果一個函數在string
或int
上運行,那麼最好用這種方式編寫函數,這樣可以更容易進行單元測試。
如果它是一個數字,你要讀和/或操縱,那麼你可以創建一個這樣的一類非常特殊的值:
public class MyPageValues
{
public string Value1 {get;set;}
public string Value2 {get;set;}
}
,然後補充說,從裝載值構造函數或擴展方法ViewState
。
public class MyPageValues
{
public string Value1 {get;set;}
public string Value2 {get;set;}
public MyPageValues(){} //default constructor
public MyPageValues(System.Web.UI.StateBag viewState)
{
Value1 = (string)viewState["Value1"];
Value2 = integer.Parse(viewState["Value2"]); //Do some better checking.
}
}
更好的是,只需將整個類序列化到viewstate並從那裏檢索它。
[Serializable()]
public class MyValues
{
public string Value1 {get;set;}
public string Value2 {get;set;}
}
public partial class YourPage: System.Web.UI.Page
{
private MyValues _values;
protected void Page_Load(object source, EventArgs e)
{
_values = ViewState["myValues"] as MyValues ?? new MyValues();
}
protected void Page_PreRender(object sender, EventArgs e)
{
ViewState["myValues"] = _values;
}
}
這樣,你可以提取ViewState
在Page_Load
類(或者,如果需要創建一個新的實例),閱讀它,處理它,把它傳遞給其他函數,然後當你做你剛纔保存整個事情完好無損地回到ViewState
。
相關問題
- 1. 從Runnable類中訪問共享變量
- 2. 從共享日曆訪問類別?
- 3. 如何共享訪問protractor.ExpectedConditions
- 4. 如何訪問BB10中的FB共享?
- 5. 訪問共享成員,部分類
- 6. jna包裝共享.so庫 - 訪問類
- 7. 訪問共享父域/嵌套類
- 8. Xamarin - 共享類庫訪問有System.IO.File
- 9. 如何與訪問令牌共享?
- 10. 你如何訪問共享領域?
- 11. 如何訪問網絡共享域(IIS)
- 12. 如何訪問共享文件
- 13. 如何在Windows中從Perl訪問網絡共享?
- 14. 從服務訪問共享首選項
- 15. 從Google相冊訪問共享相冊
- 16. 從Angular2 NgModule訪問共享樣式
- 17. 從Java程序訪問NFS共享
- 18. 從JavaScript訪問本地共享庫
- 19. 從jar共享庫訪問資源
- 20. 從Windows服務訪問NFS共享
- 21. 從服務訪問網絡共享
- 22. File.OpenRead()訪問工作組中的共享文件,但不訪問遠程共享?
- 23. 如何訪問不同訪問器之間共享的文件?
- 24. QMutex訪問共享變量
- 25. 訪問Pthreads共享數據
- 26. OpenCL-共享內存訪問
- 27. 訪問文件共享
- 28. Jboss linux訪問windows共享
- 29. 訪問網絡共享
- 30. 訪問共享偏好
在調用它們之前,您可以傳遞'Page'實例或可能更好,只是您已從'ViewState'中提取的相關值。 –