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

Man*_*kar 6 c# asp.net-mvc razor

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

<label for="male">Male</label> 
Or   
@Html.Label("male", "Male")
Run Code Online (Sandbox Code Playgroud)

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

Dar*_*rov 4

依靠。如果male您将此标签关联到的元素是使用 html 帮助程序呈现的,例如:@Html.TextBoxFor(x => x.Male)那么我将使用 aHtml.LabelFor并保留 lambda 和强类型。我也永远不会使用:

@Html.Label("male", "Male")
Run Code Online (Sandbox Code Playgroud)

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

@Html.LabelFor(x => x.Male)
Run Code Online (Sandbox Code Playgroud)

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

[DisplayName("foo bar")]
public string Male { get; set; }
Run Code Online (Sandbox Code Playgroud)

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