Html.DisplayFor在引号中添加文字?

时间:2014-11-04 12:53:27

标签: c# asp.net asp.net-mvc

如果我添加这样的代码:

<div>
    @Html.DisplayFor(x => x.SomeTextField)
</div>

......它被渲染成......

<div>
    "
    SomeTextFieldsValue
    "
</div>

这很奇怪,因为它没有像我期望的那样使用标签......比方说,标签标签。

html中双引号的用法是什么?它是标签的简写吗?

通过谷歌搜索很难找到答案。


我问过这个问题,这个问题已经过了很长时间(由Richard Everett,Reniuz,SonerGönül提供):

What is the @Html.DisplayFor syntax for?

请在再次做同样的事情之前阅读我的问题,你会发现它根本不是同一个问题吗?

enter image description here

3 个答案:

答案 0 :(得分:1)

DisplayFor string使用的默认显示模板不会在生成的HTML中添加双引号。

所以我看到两种可能性:

  • SomeTextField的值包含那些双引号
  • 您的项目中有一个自定义DisplayTemplate,其中SomeTextField(我假设string)的类型会添加它们

答案 1 :(得分:0)

它实际上是一个镀铬的东西。 Chrome只显示文字存在的位置。

答案 2 :(得分:-4)

我认为你需要LabelFor而不是DisplayFor。 DisplayFor根据您要渲染的类型显示模板。