在按钮单击时从客户端(&)检测到潜在危险的Request.Path值

时间:2013-08-28 14:03:51

标签: jquery asp.net-mvc buttonclick

我必须在按钮点击时重定向到控制器操作,但我收到此错误

 `A potentially dangerous Request.Path value was detected from the client (&).` 

这是我的代码:

查看/ _Layout.cshtml

    <body>
        <div id="wrapper">
            <div id="tab1">
                <div class="tab2">
                    <div id="test2" class="officebar">
                        <ul>
                            <li class="current"><a href="#" rel="home">Main</a>
                                <ul>


 // ..other button code..
                          <li><span>Logout</span> 
                           <div class="button"> 
                            <a href="#" id="Logout"  title="Logout">
                                                <div class="logout">
                                                </div>
                                                Logout</a>
                                        </div>
                                       </li></ul></li>

 <script>

    $("#Logout").click("click", function () {
                    //window.refresh("./Account/Logoutview");
                   // "@Url.Action("Logoutview", "Account")";
                    window.location = "@Url.Action("Logoutview", "Account")";
                 window.location.href = "@Url.Action("Logoutview", "Account")";

                });

 </script>

这是我的Logoutview位置:

Views/Account/Logoutview

这是我的输出错误,请帮忙: enter image description here

EDIT3:

如果我使用

,我可以点击动作方法
<li>
<div><a class="button" href="@Url.Action("Logoutview", "Account")"  title="Logout">Logout</a>
 </div></li>

但我需要使用上面提到的设计。这就是问题所在。

解决方案:我尝试window.location.href = 'Account/Logoutview';代替window.location.href = "@Url.Action("Logoutview", "Account")"; 谢谢你的用户2110309,PKKG,MMohamad Bataineh为你的时间:))

1 个答案:

答案 0 :(得分:0)

尝试将其放入web.config

<system.web>
    <httpRuntime requestPathInvalidCharacters="" requestValidationMode="2.0" />
    <pages validateRequest="false" />
</system.web>

如果您没有正确转发数据,这可能会在您的应用程序中带来风险。我建议将&符号替换为_等其他字符。

除此之外,我会尝试将[ValidateInput(false)]置于您的行动之上。你说它不适合你,但你可能会把它放错了。