5

我有绑定到视图的通用列表属性。问题是当我在视图中输入一些值后发布数据时,页面会刷新并且它不会保留视图中的值。而且,当我尝试Html.ValidationMessage为该特定字段添加时,我得到一个错误

 "The value 'System.Collections.Generic.List`1[<name of the class>]' is invalid"

我的代码看起来像这样, 模型

  public List<Chart> Charts 
  { 
     get 
       { 
         return  _repository.GetCharts(Convert.ToInt32(this.Template_Id)); 
      } 
      set{} 
   }

实际班级

 public class Chart
   {
        public string ChartDisplayText { get; set; }
   }

Chart 类中的属性是我在 View 中输入值的属性 非常感谢任何帮助,谢谢

4

1 回答 1

0

要在发布后保留该值,您可以返回数据,例如:return View(chartList);

您为 Validation 获得的错误是因为在 MVC 验证中,如果其Object属性不应用级联。您需要应用模板或使用脚手架 HTML Helpers:

@foreach(Charts item in Model)
{
@Html.EditorFor(x => item.ChartDisplayText)
}

您可以在 asp.net mvc 中检查正确的 Scaffolding / 模板 HTML Helpers

于 2012-10-31T11:10:07.963 回答