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);

ObjectValidation で発生するエラーは、MVC 検証では、そのプロパティの場合カスケードが適用されないためです。テンプレートを適用するか、足場 HTML ヘルパーを使用する必要があります。

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

asp.net mvc で適切なスキャフォールディング/テンプレート HTML ヘルパーを確認できます。

于 2012-10-31T11:10:07.963 に答える