/ / Форматування тексту в Html.DisplayДля роботи в ASP.NET MVC 5 - asp.net, asp.net-mvc

Формат тексту в Html.DisplayFor не працює в ASP.NET MVC 5 - asp.net, asp.net-mvc

Чому такий код не працює:

@Html.DisplayFor(modelItem => item.SupplierName.ToString().Replace(""", ""))

Я отримую наступну помилку:

System.InvalidOperationException was unhandled by user code

Внутрішній виняток:

Templates can be used only with field access, property access,
single-dimension array index, or single-parameter custom indexer expressions.

Працює з Templates, як ось у наступному запитанні про SO: замінити символ у тексті, створеному html.displayfor, єдине рішення?

Мені здається дивним писати шаблони лише для форматування якогось тексту?

Відповіді:

1 для відповіді № 1

Html.DisplayFor шукає DisplayTemplate для типу даних. Я надаю приблизний приклад використання DisplayFor у вашому сценарії, хоча, ймовірно, не потрібен.

Створіть папку DisplayTemplates під ViewsShared та додайте файл, який називається чимось посиланням RemoveSlashes.cshtml.

@model string
@Html.Raw(Model.Replace(""", ""))

Потім ви можете використовувати цей шаблон відображення у своїх полях.

@Html.DisplayFor(modelItem => item.SupplierName, "RemoveSlashes")

Після цього ваш елемент передасть на шаблон DisplayTemplate і виведе код у шаблоні відображення.