ASP.NET MVC2 TeplatedHelper не отображает идентификатор разметки HTML - PullRequest
0 голосов
/ 09 июня 2010

У меня есть код (фрагмент):

Модель - это IEnumerable объект класса Person:

<% foreach (var item in Model) 
  { %>
     <tr>
         <td><%= Html.DisplayFor(x=>item.Name) %></td>
     </tr>    
<% } %>

, он отображает только такие метки:

<td>Tommy</td>

Согласно ссылке она должна отображать HTML-разметку примерно так:

alt text

, но нет идентификатора и свойства NAME.Почему?

1 Ответ

1 голос
/ 10 июня 2010

Вы используете неправильный шаблон, который вы должны использовать Html.EditorFor(x => x.Name)

Редактировать: Я сказал, что вы использовали неправильный шаблон, потому что на вашем изображении это текстовое поле, а не метка...

выход по умолчанию для Displayfor равен

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%= Html.Encode(ViewData.TemplateInfo.FormattedModelValue) %>

в соответствии с Брэдом Уилсоном .Вы можете легко создать свой собственный, посмотрите другой пост Брэда Уилсона за примерами.

Или вы можете просто позвонить Html.LabelFor(x => x.Name)

Если вы всегда этого хотите, добавьте шаблон с именем String.ascx в ваш Views / Share / DisplayTemplate и просто вставьте следующее:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%= Html.Label("", ViewData.TemplateInfo.FormattedModelValue) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...