私は以下のビューモデルを持っています
public class QuestionarrieAnswersViewModel
{
public long QuestionID { get; set; }
public string Question { get; set; }
[Required(ErrorMessage="required")]
[StringLength(255, ErrorMessage = "Maximum 255 characters are allowed.")]
public string Answer { get; set; }
}
そして私は以下の方法でビューを生成しています
@model List<BusinessLayer.Models.ViewModel.QuestionarrieAnswersViewModel>
@using (Ajax.BeginForm("SaveQuestionarrie", "Member", FormMethod.Post, new AjaxOptions { OnBegin = "OnBegin", OnComplete = "OnComplete" }, new { @class = "form-horizontal" }))
{
for(int i=0;i<Model.Count;i++)
{
<div class="control-group">
<div class="head_form">
<label class="control-label">@Model[i].Question</label>
<div class="controls">
@Html.TextAreaFor(m=>m[i].Answer)
@Html.ValidationMessageFor(m => m[i].Answer)
@Html.HiddenFor(m=>m[i].QuestionID)
</div>
</div>
</div>
}
<div class="control-group">
<div class="controls">
<button class="btn" type="submit">Save</button>
</div>
</div>
}
上記のモデルの回答フィールドにデータ注釈を設定しましたが、以下の方法でビューを生成すると機能しますが、上記のビューには適用されません
@model BusinessLayer.Models.ViewModel.QuestionarrieAnswersViewModel
@using (Ajax.BeginForm("SaveQuestionarrie", "Member", FormMethod.Post, new AjaxOptions { OnBegin = "OnBegin", OnComplete = "OnComplete" }, new { @class = "form-horizontal" }))
{
@Html.TextAreaFor(m => m.Answer)
@Html.TextAreaFor(m => m.QuestionID)
<div class="control-group">
<div class="controls">
<button class="btn" type="submit">Save</button>
</div>
</div>
}
ここで何が問題になっていますか...