如何使用add()方法向视图状态添加实例

本文关键字:视图状态 添加 实例 方法 何使用 add | 更新日期: 2023-09-27 18:13:43

我已经声明了一个属性,它有一个viewstate List of TMP_RequestCourse,像这样:

public List<TMP_RequestCourse> T_RequestCourse
{
   get
   {
      if (ViewState["TMP_RequestCourse"] == null)
         return new List< TMP_RequestCourse>();
      else
         return (List<TMP_RequestCourse>)ViewState["TMP_RequestCourse"];
    }
    set { ViewState["TMP_RequestCourse"] = value; }
}

但是我不能用下面的代码给它添加实例:

   TMP_RequestCourse tmp = new TMP_RequestCourse();
   tmp.CourseCode = coursesSelector.SelectedValue.GetInteger().Value;
   tmp.CourseTitle = coursesSelector.SelectedText;
   T_RequestCourse.Add(tmp);

实际上,Add()方法不起作用

如何使用add()方法向视图状态添加实例

这一行:

if (ViewState["TMP_RequestCourse"] == null)
     return new List< TMP_RequestCourse>();

返回ViewState中不存在的List<TMP_RequestCourse>的新实例(没有引用)。改为:

if (ViewState["TMP_RequestCourse"] == null)
{
     var list = new List< TMP_RequestCourse>();
     ViewState["TMP_RequestCourse"] = list;
     return list;
}