Если я добавлю такой код:
<div>
@Html.DisplayFor(x => x.SomeTextField)
</div>
... это выглядит так...
<div>
"
SomeTextFieldsValue
"
</div>
Это странно, поскольку он не использует тег, как я ожидал... скажем, тег метки.
Каково это использование двойных кавычек в html. Является ли это сокращенным для тега?
Трудно найти ответ на googling.
Я ПОПРОСИЛ ЭТОТ ВОПРОС МОМЕНТА АГО И ЭТО БЫСТРО ОБРАЩАЕТСЯ, КАК ПРЕДОТВРАЩАЕТСЯ ЭТОЙ РЕЗЬБОЙ (Ричард Эверетт, Ренюз, Сонер Гюнль):
Что такое синтаксис @Html.DisplayFor?
Пожалуйста, прочитайте мой вопрос, прежде чем делать то же самое, и вы увидите, что это не тот же вопрос вообще?
Это на самом деле хром. Chrome просто показывает, где текст существует.
Шаблон отображения по умолчанию, используемый DisplayFor
для string
, не добавляет двойные кавычки в сгенерированный HTML.
Поэтому я вижу две возможности:
SomeTextField
содержит эти двойные кавычкиDisplayTemplate
для типа SomeTextField
(я предполагаю, string
), который их добавляет@Html.Raw(Model.SomeTextField)
чтобы увидеть, какой HTML генерируется?
Я думаю, вам нужно LabelFor вместо DisplayFor. DisplayFor отображение шаблона на основе типа, который вы хотите отобразить.
LabelFor
не будет отображать значение свойства.
Html.DisplayFor
который в значительной степени вам нужен. Если в вашем проекте нет шаблона для отображения строки, вероятно, ваши данные содержат ""