【问题标题】:Simple html vs extension methods in Razor (preference)Razor 中的简单 html 与扩展方法(首选)
【发布时间】:2012-07-15 03:07:17
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# asp.net-mvc razor


    【解决方案1】:

    视情况而定。如果您将此标签关联到的 male 元素使用 html 帮助器呈现,例如:@Html.TextBoxFor(x =&gt; x.Male),那么我将使用 Html.LabelFor 并保留 lambdas 和强类型。我也永远不会使用:

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

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

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • :问题不是标签的替代品,而是标签、文本框、输入等所有简单 html 的偏好。您更喜欢简单的 Html 还是 Razor 辅助方法。
      猜你喜欢
      • 2011-09-11
      • 1970-01-01
      • 2016-08-12
      • 1970-01-01
      • 2011-06-28
      • 2017-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多