子对象的mvc3标签

时间:2011-07-21 07:47:16

标签: asp.net-mvc-3

我有两个班级:

public class foo{
    [Display(Name="Here is my bar")]
    public bar myBar;

    [Display(Name="Here is my name")]
    public string myName;

}

public class bar{
    ...
}

我有一个视图“chooseBar.cshtml”强类型的foo。

如果我放了一个@ Html.LabelFor(model => model.myName) - >我在标签上看到“这是我的名字”。 但是,如果我放一个@ Html.LabelFor(model => model.myBar) - >我只看到“myBar”,而不是预期的“这是我的酒吧”

如何为我的子对象使用LabelFor?(即在标签中显示“这是我的栏”而不是“myBar”)

感谢您的回答。

1 个答案:

答案 0 :(得分:1)

您可以使用属性

来装饰要呈现的Bar属性
public class Bar
{
   [Display(Name="Here is my bar")]
   public string BarName { get; set; }
}

使用自定义编辑器模板:

<强> Bar.cshtml

@Html.LabelFor(model => model.BarName)

<强> chooseBar.cshtml

@Html.EditorFor(model => model.Bar)

可能是另一种方式,但是当我想渲染子模型时,我通常总是使用编辑器/显示模板。