Razor中的简单html与扩展方法(首选项)

时间:2011-07-11 18:21:41

标签: c# asp.net-mvc razor

对于MVC Razor中的简单标签,您更喜欢使用简单的HTML还是使用扩展方法 例如

<label for="male">Male</label> 
Or   
@Html.Label("male", "Male")

我觉得有时候使用简单的HTML会更容易。 当你想要做一些自定义代码时,扩展方法是有意义的。

2 个答案:

答案 0 :(得分:4)

取决于。如果您要关联此标签的male元素使用html帮助器呈现,例如:@Html.TextBoxFor(x => x.Male),那么我将使用Html.LabelFor并保留lambda和强类型。我永远不会使用:

@Html.Label("male", "Male")

我会使用视图模型和强类型版本:

@Html.LabelFor(x => x.Male)

我将使用[DisplayName]属性修饰我的视图模型属性,以便我可以在我的视图模型上控制消息:

[DisplayName("foo bar")]
public string Male { get; set; }

所以有许多不同的可能场景。我有时也可以简单地使用静态HTML和没有助手(目前无法想到这样的场景,但我确信它存在)。

答案 1 :(得分:0)

您可以使用DisplayFor。这是显示数据的另一种方式。