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

时间:2012-02-28 18:02:29

标签: 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>
}

我的模型看起来像:

public class PermitRequest
{
    [Description("Job address")]
    public string JobAddress { get; set; }
}

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

1 个答案:

答案 0 :(得分:6)

[DisplayName("Job address")]
public string JobAddress { get; set; }

或者如果您愿意:

[Display(Name = "Job address")]
public string JobAddress { get; set; }

两者都设置了LabelFor帮助器使用的ModelMetadata的DisplayName属性。