如何在标签中转义此ViewData?

时间:2010-02-05 03:05:41

标签: asp.net-mvc

我总是听说制作html助手的好处,但没有人真正展示如果你没有正确使用html助手会有什么样子。

所以我只想写一个带有计划html的标签而不是我制作的html帮助

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

我试图将一个viewData放在“for”部分,但它一直在说半结肠。我试图逃避引号,但这不起作用。我需要做些什么来完成这项工作?

2 个答案:

答案 0 :(得分:3)

这是<% %>&amp; <%= %>

当你写:

<%= ViewData["View_CoursePrefix"] %>

在幕后,WebForms视图引擎将其转换为:

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

因此,要使您的版本正常运行,您必须将其包装在Response.Write()

HTHS,
查尔斯

哦,和FYI ......在ASP.NET 4.0中,他们引入了<%: %>,它将自动HtmlEncode输出。请参阅Phil Haack的this blog post

答案 1 :(得分:0)

<label for="<%=ViewData["View_CoursePrefix"] %>">some text</label>