将数据保存到ViewState

时间:2011-01-26 08:59:34

标签: javascript .net asp.net viewstate

我可以尝试将一些数据保存到ViewState,但是我收到此错误: Microsoft JScript运行时错误:Sys.WebForms.PageRequestManagerServerErrorException:序列化类型为'HeRMeSSAAS.BussinesProcess.BussinesServices.CandidateService'的值'HeRMeSSAAS.BussinesProcess.BussinesServices.CandidateService'时出错。 代码:

private IActionService ActionService
    {
        get
        {
            return ViewState["ActionService"] as IActionService;
        }
        set
        {
            ViewState["ActionService"] = value;
        }
    }

private void InitializeField(IActionService service)
        {
            ActionService = service;
        }

我如何将价值存储到ViewState?

2 个答案:

答案 0 :(得分:4)

用你的Serializable属性装饰你的HeRMeSSAAS.BussinesProcess.BussinesServices.CandidateService吗?

例如:

[Serializable]
public class CandidateService
{

}

如果这不是一个非常简单的类,我还建议将它存储在Session而不是ViewState中,因为页面下载和渲染需要更长的时间

答案 1 :(得分:1)

您需要在业务对象之上使用[Serializable]属性。