我遇到一个问题,默认模型绑定器拒绝绑定到我的对象,这是一个List<>
个简单对象。
班级:
public class ReferralHistoryDetail {
[Key]
public long Referral_Number { get; set; }
public Guid QuoteGuid { get; set; }
public byte ReferralTypeID { get; set; }
public string Referral_Type { get; set; }
public DateTime ReferralDateTime { get; set; }
public string ReferralComments { get; set; }
}
控制器定义:
[HttpPost]
public ActionResult Save(List<ReferralHistoryDetail> details) {
Fiddler的观点:
我在这里做错了什么?
这是通过EditorTemplate以下列方式显示的:
@using (Html.BeginForm("Save", "Home")) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div class="tab-content">
<div class="tab-pane fade in active form-horizontal" id="basic">
@Html.EditorFor(m => m.ReferralHistoryDetail)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
}
作为NULL传递的值是传递给控制器的POST方法的值。默认的模型绑定器无法绑定它。
答案 0 :(得分:0)
我解决了这个问题。
问题是Html.BeginForm()
在主视图中,但它只是回发EditorFor()
的内容。
我必须更改我的控制器以接收主视图的对象而不是EditorFor()
正在处理的对象,因为Html.BeginForm()
存在于主视图中。