我想在View中显示标签,哪种是最佳做法?
@Html.Raw(Constants.lblProjectName)
或
@Html.LabelFor(x=>x.ProjectName)
如果是,请告诉我原因或
我的财产是
[Display(Name ="Project No.")]
public string ProjectName { get; set; } = ProjectNo.GetProjectNo;
答案 0 :(得分:1)
有第二种方法偏爱第二种方法:
它更加灵活,因为您可以使用模型而不是直接显示值。因此,如果您想在这个特定的地方显示其他内容,则所有必需的代码已经存在。
您可以使用display templates来保持自定义样式的一致性。还应考虑到,如果此值以后可以编辑,那么您也可以轻松使用编辑器模板。
它更易于阅读,因为它是更标准的MVC方法。通常,您希望遵循标准方法。
@GeorgPatscheider添加了注释:@Html.LabelFor
实际上会发出一个<label for="{InputId}">
标签,因此单击标签将聚焦相应的输入字段。
最后,正如@DavidG在评论中注意到的那样,Html.Raw
非常危险,因为它不会为您做任何html编码。