为什么Html.LabelFor不能在局部视图中工作?

Mik*_*lls 2 asp.net-mvc-3

我以为我之前已经问过这个,但我找不到它.我正在为表单制作部分视图,以便我可以在多个地方使用它.这是一个简短的片段:

@model Permits.Domain.Entities.PermitRequest

@using (Html.BeginForm())
{
    @Html.ValidationSummary(true)
    <div class="editor-label">
        @Html.LabelFor(model => model.JobAddress)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.JobAddress)
        @Html.ValidationMessageFor(model => model.JobAddress)
    </div>

    <p>
        <input type="submit" value="Submit request" />
    </p>
</fieldset>
}
Run Code Online (Sandbox Code Playgroud)

我的模型看起来像:

public class PermitRequest
{
    [Description("Job address")]
    public string JobAddress { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

为什么我的标签仍然是"JobAddress"而不是"Job Address"(带空格)?我觉得我错过了一些明显的东西.

Dar*_*rov 6

[DisplayName("Job address")]
public string JobAddress { get; set; }
Run Code Online (Sandbox Code Playgroud)

或者如果您愿意:

[Display(Name = "Job address")]
public string JobAddress { get; set; }
Run Code Online (Sandbox Code Playgroud)

两者都设置DisplayNameLabelFor帮助器使用的ModelMetadata 的属性.