2013-08-28 4 views
0

Я должен перенаправлять на действие контроллера на кнопку мыши, но я получаю эту ошибкупотенциально опасное значение Request.Path было обнаружено от клиента (и) на кнопку мыши

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

здесь мой код:

Views/_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")"; ThankYou user2110309, PKKG, MMohamad Батейна за ваше время :)

+0

Можете ли вы показать сгенерированный исходный код для своего вида? Я хочу посмотреть, как генерируется ваш код для этих Url.Actions? – PeterPan

+0

Отметьте мое редактирование в вопросе – gs11111

+0

Можете ли вы добавить код для своего действия LogOut? – PeterPan

ответ

0

Попробуйте положить это в web.config

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

Это может открыть риски в вашем приложении, если вы не экономите данные. Я рекомендую заменить знак & другим персонажем, например _.

Кроме этого, я постараюсь положить [ValidateInput(false)] поверх вашего действия. Вы сказали, что это не работает для вас, но вы можете положить его на неправильное действие.

+0

Я дал еще одну рекомендацию просто заменить знак &. Он также может закодировать его. Кроме этого, я не понимаю, почему [ValidateInput (false)] не работает. –

+0

check my Edit Пожалуйста. – gs11111

+0

@ gs11111 Вы пробовали поставить ValidateInput выше действия LogoutView на учетной записи –