asp.net在viewstate中存储对象类(或其他想法)
我构建了一个这样的类:asp.net在viewstate中存储对象类(或其他想法),asp.net,postback,viewstate,Asp.net,Postback,Viewstate,我构建了一个这样的类: private class TestResults { public bool IsAdmitted { get; set; } public bool IsDuplicate { get; set; } public bool IsVerified { get; set; } } 此类的值在回发时通过单击单选按钮列表进行设置。但问题是,我不知道如何跨多个回发保存这些值。我曾想过使用viewstate,但我不太确定如何使用这个类 也许我错过
private class TestResults
{
public bool IsAdmitted { get; set; }
public bool IsDuplicate { get; set; }
public bool IsVerified { get; set; }
}
此类的值在回发时通过单击单选按钮列表进行设置。但问题是,我不知道如何跨多个回发保存这些值。我曾想过使用viewstate,但我不太确定如何使用这个类
也许我错过了一些重要的事情
希望有人能给我指出正确的方向
谢谢你的时间!
亲切问候,,
标记您可以使用的
Session.Add("TestResults", Your_Test_Result_Object)
尝试改用会话缓存
var testResults = new TestResults();
//set values
Session["TestResults"] = testResults;
稍后检索它们:
var testResults = Session["TestResults"] as TestResults;
if (testResults != null)
{
//use it
}
将该类粘贴在viewstate中非常简单:
ViewState["SomeUniqueKey"] = myTestResults;
var testResults = (TestResults)ViewState["SomeUniqueKey"];
但是,您的类需要标记为
[Serializable]
属性。如果您在整个应用程序的其他页面或其他位置不需要此值,您可以使用viewstate
使用页面。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; }
}
}
非常感谢丹尼尔我一直在寻找的东西!不客气,马克。你介意把答案标为正确的吗?如果你能接受更多的答案就好了,当然假设有一些正确的答案。这将帮助你建立声誉,并鼓励用户回答你的问题