我添加了一个动态添加的对象,例如:
@Html.EditorFor(model => model.Province)
我的模型包含省属性,但视图在开始时没有显示对象。我通过 .show() 方法使其可见。
但是,在控制器中,我发现 Province 的值始终为 null。如何使它可以从像这样动态添加的对象中访问?
补充:我的模型看起来像这样:
public class Location
{
[Required]
public int ID { get; set; }
[Required]
public string Name { get; set; }
public string Description { get; set; }
public string Street { get; set; }
public string City { get; set; }
[Display(Name = "State/Province")]
public string Province { get; set; }
}
控制器:
[HttpPost]
public ActionResult Create(Location location)
{
if (ModelState.IsValid)
{
db.Location.Add(location);
db.SaveChanges();
return RedirectToAction("Index");
}
}
看法:
<div class="editor-label">
@Html.LabelFor(model => model.Province)
</div>
<div class="editor-field">
<div id="province_ddl">
@Html.DropDownListFor(
x => x.Province,
Enumerable.Empty<SelectListItem>(),
"-- Select State/Province --"
)
</div>
<div id="province_tb" style="display: none">
@Html.EditorFor(model => model.Province)
</div>
@Html.ValidationMessageFor(model => model.Province)
</div>
当我使用下拉列表时,它将具有正确的省属性值。但是,如果我使文本框控件可见,它将没有值,即在控制器中获得空值。