首页 > 解决方案 > 如何使用 ASP.Net MVC 中的数据注释更改级别名称?

问题描述

我在模型中的代码是这样的:在 Employee.cs 中:

    [Required]
    [Display(Name ="Department")]
    [ForeignKey("Department")]
    public int DepartmentId { get; set; }

    public Department Department { get; set; }

内部 Department.cs:

public List<Employee> Employees { get; set; }

在网页的查看源代码中,我得到:

<div class="form-group">
        <label class="control-label col-md-2" for="DepartmentId">DepartmentId</label>
        <div class="col-md-10">
            <select class="form-control" id="DepartmentId" name="DepartmentId"><option 
                 value="1">CSE</option>
                 <option value="2">EEE</option>
                 <option value="3">ME</option>
            </select>
            <span class="field-validation-valid text-danger" data-valmsg-for="DepartmentId" data- 
            valmsg-replace="true"></span>
        </div>
    </div>

但是在网页中,我得到了级别名称:DepartmentId。我要系。我必须做什么?

标签: asp.net-mvcdata-annotations

解决方案


您的代码看起来完全是静态的,以使用您在模型中指定的显示属性,您必须进行如下更改

<div class="form-group">
        @Html.LabelFor(model => model.DepartmentId, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            <select class="form-control" id="DepartmentId" name="DepartmentId"><option 
                 value="1">CSE</option>
                 <option value="2">EEE</option>
                 <option value="3">ME</option>
            </select>
            <span class="field-validation-valid text-danger" data-valmsg-for="DepartmentId" data- 
            valmsg-replace="true"></span>
        </div>
    </div>

请注意,这些更改还不够,您需要将适当的模型对象发送到您的视图并在您的视图中获取模型


推荐阅读