首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Html.Encode不返回任何内容

Html.Encode不返回任何内容
EN

Stack Overflow用户
提问于 2009-04-14 20:30:48
回答 2查看 169关注 0票数 2

我不能让它工作,我想要显示一个简单的艺术家名字列表,但总是得到空链接。

代码语言:javascript
复制
foreach (Artist artist in Model)
{%>
    <a href="gotosomewhere"><% Html.Encode(artist.Name); %></a>
<%} 

我已经对其进行了调试,我确信该模型包含一个艺术家列表。

谢谢,彼得

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-04-14 20:34:35

将其更改为:

代码语言:javascript
复制
<%= Html.Encode( artist.Name ) %>

注意"equals“和缺少闭合分号。这是用于将字符串值输出到响应的格式。另一种格式只是在页面上下文中执行代码,但不会自动写入响应。

票数 17
EN

Stack Overflow用户

发布于 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(...)),后者显然会将编码后的文本写入响应。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/749248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档