Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Html.Raw()输出为&;amp;而不是&;_C#_Asp.net Mvc_Razor_Asp.net Mvc 4 - Fatal编程技术网

C# Html.Raw()输出为&;amp;而不是&;

C# Html.Raw()输出为&;amp;而不是&;,c#,asp.net-mvc,razor,asp.net-mvc-4,C#,Asp.net Mvc,Razor,Asp.net Mvc 4,我想在我的控制器中创建一个规范的url,并将其传递给我的ViewModel,以便在标题中显示它 my ViewModel中的url字符串为: /books?page=4&pagesize=25 我有以下代码: @if (!string.IsNullOrEmpty(Model.LinkCanonical)) { <link rel="canonical" href="@Html.Raw(Model.LinkCanonical)" /> } 尝试: 这是正确的输出-

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

my ViewModel中的url字符串为:

/books?page=4&pagesize=25
我有以下代码:

@if (!string.IsNullOrEmpty(Model.LinkCanonical))
{
    <link rel="canonical" href="@Html.Raw(Model.LinkCanonical)" />
}
尝试:



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

这给了我同样的输出UrlDecode不工作了,我在这里看到了:它似乎在那里工作!您不想使用Html.Raw。。。除非非常小心地执行,否则会打开您的站点进行脚本注入攻击(您发布的代码意味着我可以撰写一篇文章到您的站点,将所有登录用户的身份验证cookie发送到另一个网站,然后劫持他们的会话)
<link rel="canonical" href="/books?page=4&amp;pagesize=25" />
 @Html.Raw("<link rel=\"canonical\" href=" + Model.LinkCanonical + "\" />")
<link rel="canonical" href="@Html.Raw(HttpUtility.HtmlDecode(Model.LinkCanonical))" />