我不知道为什么,模型没有绑定到创建操作:
视图模型:
public class AddressContactViewModel
{
// Primary properties
public int Id { get; set; }
public string Contact { get; set; }
// Navigation properties
[Display(ResourceType = typeof(HeelpResources), Name = "AddressContactViewModelNameLabel")]
[Required(ErrorMessageResourceName = "ErrorMsgRequiredField", ErrorMessageResourceType = typeof(HeelpResources))]
public int ContactType_Id { get; set; }
public int Address_Id { get; set; }
// ViewModel dropdownlists
public IEnumerable<SelectListItem> ContactTypeList { get; set; }
}
看法:
@model Heelp.ViewModels.AddressContactViewModel
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
@Html.HiddenFor(m => m.Address_Id)
<fieldset>
<legend>AddressContactViewModel</legend>
<div id="year">
@Html.DisplayNameFor(m => m.ContactType_Id)
@Html.DropDownListFor(m => m.ContactType_Id, Model.ContactTypeList, HeelpResources.AddressContactViewModelContactTypesListDropDownFirstRecord)
@Html.ValidationMessageFor(m => m.ContactType_Id)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.Contact)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.Contact)
@Html.ValidationMessageFor(m => m.Contact)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
行动帖:
[HttpPost]
[ValidateAntiForgeryToken]
public virtual ActionResult ContactCreate(AddressContactViewModel contact)
{
var contactDto = Mapper.Map<AddressContactViewModel, AddressContactDto>(contact);
_addressContactService.Create(contactDto);
return RedirectToAction(MVC.Address.ContactList());
}
编辑:得到:
public virtual ActionResult ContactCreate(int addressId)
{
var model = new AddressContactViewModel
{
Address_Id = addressId,
ContactTypeList = ContactTypeDropDownList()
};
return View(model);
}
当我提交表单时,我在 ContactCreate 操作的联系人参数中收到“null”,为什么会发生这种情况?
谢谢