Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net在viewstate中存储对象类(或其他想法)_Asp.net_Postback_Viewstate - Fatal编程技术网

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; }
    }   
}

非常感谢丹尼尔我一直在寻找的东西!不客气,马克。你介意把答案标为正确的吗?如果你能接受更多的答案就好了,当然假设有一些正确的答案。这将帮助你建立声誉,并鼓励用户回答你的问题