我不能让它工作,我想要显示一个简单的艺术家名字列表,但总是得到空链接。
foreach (Artist artist in Model)
{%>
<a href="gotosomewhere"><% Html.Encode(artist.Name); %></a>
<%} 我已经对其进行了调试,我确信该模型包含一个艺术家列表。
谢谢,彼得
发布于 2009-04-14 20:34:35
将其更改为:
<%= Html.Encode( artist.Name ) %>注意"equals“和缺少闭合分号。这是用于将字符串值输出到响应的格式。另一种格式只是在页面上下文中执行代码,但不会自动写入响应。
发布于 2009-04-15 16:52:15
实际上,ASP.NET中的<% some code %>语法将非常简单地翻译为“执行此代码”。
ASP.NET中的<%= some code %>语法转换为Response.Write(some code)。
基于此,很容易理解为什么<% Html.Encode(...); %>不返回任何内容。它正在对您的文本进行编码,但没有人将其写入响应!使用<%= Html.Encode(...) %>,ASP.NET编译器将其转换为Response.Write(Html.Encode(...)),后者显然会将编码后的文本写入响应。
https://stackoverflow.com/questions/749248
复制相似问题