在MVC5中显示标签的最佳方法是哪一种?

时间:2019-06-27 09:04:32

标签: asp.net-mvc

我想在View中显示标签,哪种是最佳做法?

@Html.Raw(Constants.lblProjectName) 

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

如果是,请告诉我原因或

我的财产是

[Display(Name ="Project No.")]
public string ProjectName { get; set; } = ProjectNo.GetProjectNo;

1 个答案:

答案 0 :(得分:1)

有第二种方法偏爱第二种方法:

  1. 它更加灵活,因为您可以使用模型而不是直接显示值。因此,如果您想在这个特定的地方显示其他内容,则所有必需的代码已经存在。

  2. 您可以使用display templates来保持自定义样式的一致性。还应考虑到,如果此值以后可以编辑,那么您也可以轻松使用编辑器模板。

  3. 它更易于阅读,因为它是更标准的MVC方法。通常,您希望遵循标准方法。

  4. @GeorgPatscheider添加了注释:@Html.LabelFor实际上会发出一个<label for="{InputId}">标签,因此单击标签将聚焦相应的输入字段。

  5. 最后,正如@DavidG在评论中注意到的那样,Html.Raw非常危险,因为它不会为您做任何html编码。