Как избежать этого ViewData в метке? - PullRequest
1 голос
/ 05 февраля 2010

Я всегда слышал о преимуществах создания помощников по html, но на самом деле никто не показывает, как это будет выглядеть, если вы не исправите помощника по html.

Так что я просто хотел написать ярлык с планом html, а не моим помощником html, который я сделал

<label for="<% ViewData["View_CoursePrefix"].ToString(); %>"></label>

Я пытаюсь поместить viewData в часть "for", но он говорит, что ожидается точка с запятой. Я пытался избежать кавычек, но это не работает. Что мне нужно сделать, чтобы сделать эту работу?

Ответы [ 2 ]

3 голосов
/ 05 февраля 2010

Это разница между <% %> & <%= %>

Когда вы пишете:

<%= ViewData["View_CoursePrefix"] %>

За кулисами механизм просмотра WebForms переводит его в:

<% Response.Write(ViewData["View_CoursePrefix"]); %>

Итак, чтобы ваша версия заработала, вам нужно обернуть ее в Response.Write().

HTHS
Charles

Да, и к вашему сведению ... В ASP.NET 4.0 вводится <%: %>, который автоматически HtmlEncode выводит Смотрите это сообщение в блоге от Фила Хаака

0 голосов
/ 05 февраля 2010
<label for="<%=ViewData["View_CoursePrefix"] %>">some text</label>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...