我希望在我的控制器中创建一个规范的url,并将它传递给我的ViewModel,以便在标题中显示它。
我的ViewModel中的url字符串是:
/books?page=4&pagesize=25
我有以下代码:
@if (!string.IsNullOrEmpty(Model.LinkCanonical))
{
<link rel="canonical" href="@Html.Raw(Model.LinkCanonical)" />
}
产出如下:
<link rel="canonical" href="/books?page=4&pagesize=25" />
Html.Raw()
助手应该输出&
而不是&
。
怎么会发生这种事?
编辑:
这个解决方案可以工作,这里已经提到了:Why is Html.Raw escaping ampersand in anchor tag in ASP.NET MVC 4?
@Html.Raw("<link rel=\"canonical\" href=" + Model.LinkCanonical + "\" />")
发布于 2013-04-16 14:18:33
这是正确的输出-浏览器将处理html编码的符号,并且URL确实会指向/books?page=4&pagesize=25
(尝试一下!)
发布于 2013-04-16 14:10:26
尝试:
<link rel="canonical" href="@Html.Raw(HttpUtility.HtmlDecode(Model.LinkCanonical))" />
https://stackoverflow.com/questions/16039314
复制相似问题