【问题标题】:How to fix serialize for table in Viewstate?如何修复 Viewstate 中表的序列化?
【发布时间】:2017-02-27 10:41:50
【问题描述】:

我在我的页面中声明了一个视图状态,如下所示:

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, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”中的类型“App.UI.Pages.EduRequestEdit+TMP_RequestCourse”未标记为可序列化。

【问题讨论】:

    标签: c# asp.net .net serialization


    【解决方案1】:

    您应该将SerializableAttribute 添加到您的班级。

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

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

    Reference

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-17
      • 1970-01-01
      • 1970-01-01
      • 2015-03-17
      相关资源
      最近更新 更多