我有一个ViewModel,里面有一些列表。 我想显示以下属性:
public string Status { get; set; }
public DateTime Applicationdate { get; set; }
public DateTime Submitdate { get; set; }
public Boolean CustomerAgreementBoolean { get; set; }
public DateTime CustomerAgreementBooleanDate { get; set; }
public string MultiannualContract { get; set; }
它们是更大模型的一部分。当我在视图中执行此操作时,它一半有效:
@foreach (var offeritem in Model.Offermodel)
{
<div class="col-md-3 mb-3">
@Html.LabelFor(model => model.Offermodel)
@Html.EditorFor(x => offeritem.Applicationdate, new {
htmlAttributes = new { @class = "form-control", required =
"required" } })
@Html.ValidationMessageFor(x => offeritem.Applicationdate, "",
new { @class = "text-danger" })
</div>
}
标签和编辑器的名称变为:Offeritem.Applicationdate
,而不是“ Applicationdate”
有什么方法可以显示正确的名称?
答案 0 :(得分:0)
嵌套属性的名称将以这种方式呈现。您可以通过在HTML帮助器中传递属性值来更改名称属性,例如
@Html.EditorFor(x => offeritem.Applicationdate, new {
htmlAttributes = new { @class = "form-control", required =
"required", name="Applicationdate" } })
但是它不会绑定到表单发布中的嵌套属性。