Кнопка пользовательского интерфейса JQuery, отправляющая все проблемы с контентом в IE 6.0

У меня та же проблема, что и опубликованная здесь

У меня есть элемент <button>, который вызывает ошибку «Потенциально опасное значение request.form ...» в asp.net MVC. Например:

<button type="submit" name="logon" value="ok">Confirm</button>
<button type="submit" name="cancel" value="ok">Cancel</button>

И этот javascript (с jquery UI 1.8.5)

<script type="text/javascript">
    $(document).ready(function() {
        $("button").button();
    });        
</script>

Проблема в том, что я не могу удалить свойство name (как данное решение в опубликованной мной ссылке), потому что я фиксирую, какая кнопка нажата на стороне контроллера следующим образом:

public ActionResult Logon(FormCollection form, string logon, string cancel)
{
    if (!string.IsNullOrEmpty(logon))
    {
        DoLogon(); 
    }

    if (!string.IsNullOrEmpty(cancel))
    {
        Cancel(); 
    }  
    //etc
} 

Есть ли обходной путь для этого? Спасибо. Обратите внимание, что у меня нет этой проблемы в IE8 или firefox.


person Francisco    schedule 26.10.2010    source источник


Ответы (1)


Вы видели это?

Причина
.NET framework выдает ошибку, поскольку обнаружила во введенном тексте что-то похожее на оператор HTML. Текст не обязательно должен содержать действительный HTML, только что-либо с открывающими и закрывающими угловыми скобками ("<...>").

Предлагаемое решение - отключить проверку запроса на стороне сервера:

<pages validateRequest="false" />

Не забудьте также прочитать предупреждения и объяснения.

person Tomalak    schedule 26.10.2010
comment
Я действительно не хотел бы отключать это (это своего рода крайний способ обхода, imo), потому что есть больше полей, которые требуют ввода данных пользователем. Настоящая проблема в том, что он отлично работает без кода jquery (я отредактировал свой вопрос с дополнительной информацией) и большинства браузеров, но каким-то образом дополнительный стиль портит IE 6. - person Francisco; 26.10.2010
comment
@Francisco: Я бы, вероятно, посмотрел на данные, которые передаются по сети (через анализатор пакетов), чтобы сравнить любые различия между браузерами, в которых это работает, и теми, в которых нет. Я не особо люблю ASP.NET MVC, поэтому не могу сразу сказать, что не так, извините. - person Tomalak; 26.10.2010