我有以下视图模型数据注释如果从控制列表视图模型生成不不行
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>
}
我已经设置dataannotation的答复生成视图字段在上面的模型,但它不适用于上述观点,而它的工作原理,如果我生成以下方式的视图
@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>
}
这里发生了什么...
你实际上调用'ModelState.IsValid'? – mattytommo 2013-02-28 08:20:13
验证甚至不在客户端工作。 – 2013-02-28 08:21:18
出于兴趣,改变你的'按钮'提交到'input type =“submit”'这有什么区别吗? – mattytommo 2013-02-28 08:22:45