如何在视图中显示模型属性的客户端ID?

时间:2013-07-18 17:53:11

标签: c# asp.net-mvc razor

在我看来,我希望能够独立于关联的控制标记呈现模型属性的ID。

例如,如果我的模型是:

public class Author {
    public string Title { get; set; }
    public Address Address { get; set; }
}

在我看来,我希望能够使用HtmlHelper的扩展名来使用lambda来呈现Title属性的ID。类似的东西:

@Html.GetClientIdFor(x => x.Title)

这将输出“标题”。

对于嵌套对象,我想:

@Html.GetClientIdFor(x => x.Address.PostCode)

输出“Address_PostCode”。

我确信我可以从ViewData.TemplateInfo对象访问数据,但从那里我有点卡住了。

有什么想法吗?我正在使用MVC4,但我想要一个适用于MVC3的解决方案。

1 个答案:

答案 0 :(得分:3)

除非我误解了您的问题,否则HtmlHelper会完全符合您的要求:IdFor

@Html.IdFor(x => x.Address.PostCode) // Will return Address_PostCode

虽然,那是MVC4及以上。对于MVC3,您需要自己动手。请参阅this SO