首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Html.Raw()输出是&而不是& of;

Html.Raw()输出是&而不是& of;
EN

Stack Overflow用户
提问于 2013-04-16 14:07:41
回答 2查看 20.8K关注 0票数 4

我希望在我的控制器中创建一个规范的url,并将它传递给我的ViewModel,以便在标题中显示它。

我的ViewModel中的url字符串是:

代码语言:javascript
运行
复制
/books?page=4&pagesize=25

我有以下代码:

代码语言:javascript
运行
复制
@if (!string.IsNullOrEmpty(Model.LinkCanonical))
{
    <link rel="canonical" href="@Html.Raw(Model.LinkCanonical)" />
}

产出如下:

代码语言:javascript
运行
复制
<link rel="canonical" href="/books?page=4&amp;pagesize=25" />

Html.Raw()助手应该输出&而不是&amp;

怎么会发生这种事?

编辑:

这个解决方案可以工作,这里已经提到了:Why is Html.Raw escaping ampersand in anchor tag in ASP.NET MVC 4?

代码语言:javascript
运行
复制
 @Html.Raw("<link rel=\"canonical\" href=" + Model.LinkCanonical + "\" />")
EN

回答 2

Stack Overflow用户

发布于 2013-04-16 14:18:33

这是正确的输出-浏览器将处理html编码的符号,并且URL确实会指向/books?page=4&pagesize=25 (尝试一下!)

票数 4
EN

Stack Overflow用户

发布于 2013-04-16 14:10:26

尝试:

代码语言:javascript
运行
复制
<link rel="canonical" href="@Html.Raw(HttpUtility.HtmlDecode(Model.LinkCanonical))" />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16039314

复制
相关文章

相似问题

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