我已经建立了这样一个类:
private class TestResults
{
public bool IsAdmitted { get; set; }
public bool IsDuplicate { get; set; }
public bool IsVerified { get; set; }
}
通过单击radiobutton列表,可以在回发时设置此类的值。但问题是我不知道如何在多个回发中保存这些值。我想过使用viewstate,但我不太确定如何使用这个类。
也许我在这里错过了一些重要的事情。
希望有人能指出我正确的方向
谢谢你的时间! 亲切的问候, 标记答案 0 :(得分:6)
将这个类放在viewstate中非常简单:
ViewState["SomeUniqueKey"] = myTestResults;
var testResults = (TestResults)ViewState["SomeUniqueKey"];
您的课程需要使用[Serializable]
属性进行标记。
答案 1 :(得分:1)
尝试使用会话缓存
var testResults = new TestResults();
//set values
Session["TestResults"] = testResults;
稍后检索:
var testResults = Session["TestResults"] as TestResults;
if (testResults != null)
{
//use it
}
答案 2 :(得分:0)
答案 3 :(得分:0)
如果您在整个应用中的其他页面或其他位置不需要此值,则可以使用viewstate。
使用Page.ViewState
对象包进行存储:
public partial class Page1 : Page {
protected void button1_click(object sender, EventArgs e) {
ViewState["myObject"] = testResultsObject;
}
}
您还可以在页面上的属性中包含对它的访问权限:
public partial class Page1 : Page {
public TestResults TestResults {
get{ return ViewState["TestResults"] as TestResults; }
set{ ViewState["TestResults"] = value; }
}
}