如何修复Viewstate中表的序列化

本文关键字:序列化 何修复 Viewstate | 更新日期: 2023-09-27 18:13:25

我在我的页面中声明了一个viewstate:

public class TMP_RequestCourse
{
    public int CourseCode;
    public string CourseTitle;
    public int PriorityID;
}
public TMP_RequestCourse T_RequestCourse
{
    get
    {
        if (ViewState["TMP_RequestCourse"] == null)
            return new TMP_RequestCourse();
        return (TMP_RequestCourse)ViewState["insertMode"];
    }
    set { ViewState["TMP_RequestCourse"] = value; }
}

但是当页面加载时,我收到以下错误:

App.UI.Pages类型"。edurequestdit +TMP_RequestCourse' in Assembly 'App.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'未标记为可序列化的。

如何修复Viewstate中表的序列化

你应该把SerializableAttribute添加到你的类中。

[Serializable]
public class TMP_RequestCourse
{
    public int CourseCode;
    public string CourseTitle;
    public int PriorityID;
}

当你在。net框架应用程序中创建对象时,你不需要需要考虑数据如何存储在内存中。因为。net框架会帮你解决这个问题。但是,如果要存储将一个对象的内容发送到一个文件,将一个对象发送到另一个进程或者通过网络传输,你必须考虑如何对象表示,因为您需要将其转换为不同的格式。这种转换称为SERIALIZATION。

参考