Подтвердить что ты не робот

WebForm_DoPostBackWithOptions не определяется с помощью хрома

На одной из моих страниц мои динамические ссылки работают нормально в IE10, но не работают ни в Chrome, ни через Проводник на моем телефоне с Windows. В Chrome я получаю "WebForm_DoPostBackWithOptions не определен", когда я пытаюсь нажать на любую из динамических ссылок. Я провел много исследований и пытался изменить настройки фильтров ISAPI в сопоставлениях обработчиков в IIS 8, но это не сработало. Пожалуйста помоги. Я в тупике.

Обновление: это также не работает в Firefox. Кажется, что динамические ссылки на этой странице работают только в IE10. Ссылки генерируются из моего кода. Странно то, что на других страницах ссылки генерируются по-разному, а javascript на href отличается, но я создаю привязки в коде точно так же.

Вот код для "плохого" якоря:

    Dim anchName As New HtmlAnchor
anchName.ID = "bcrasodiuhf" & foo
AddHandler anchName.ServerClick, AddressOf HandleNameClick
anchName.Attributes.Add("style", "font-weight: bold; font-size: 14px;")
anchName.Attributes.Add("for", foo)
anchName.InnerText = foo

И "плохой" результат:

<a id="MainContent_bcrasodiuhf1" **href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBac…0$MainContent$bcrasodiuhf1", "", true, "", "", false, true))**" for="1" style="font-weight: bold; font-size: 14px;"></a>

Вот "рабочий" якорь:

    Dim ancJoe As New HtmlAnchor
    ancJoe.ID = "pjancJoe" & foo
    AddHandler ancJoe.ServerClick, AddressOf HandleJoeClick
    ancJoe.InnerText = joe.Title
    ancJoe.Attributes.Add("style", "font-size: 150%;")
    ancJoe.Attributes.Add("jn", foo)
    ancJoe.Attributes.Add("for", foo)
    ancJoe.Attributes.Add("action", "actionA")  

И "рабочий" результат:

<a id="MainContent_pcancJoe19416" **href="javascript:__doPostBack('ctl00$MainContent$pcancJoe19416','')"** action="actionA" for="194" jn="foo foo" forc="16" style="font-size: 150%;"></a>
4b9b3361

Ответ 1

Соответствующий JS-код (т.е. WebForm_DoPostBackWithOptions (параметры)) является встроенной частью и динамически связан. Правильный URL-адрес создается ScriptManager страницы.

Учитывая, что вы упоминали, что используете URL Rewrite, попробуйте проверить, не игнорируются или перезаписаны URL-адреса, такие как WebResource.axd? d = XXX.

Кроме того, возможно, стоит посмотреть конфигурацию сопоставления обработчиков IIS, чтобы обеспечить, чтобы ресурсы .axd сопоставлялись с стандартным обработчиком модуля ISAPI.

Ответ 2

В файлах определения браузера, которые поставляются с .NET 2.0 и .NET 4, есть ошибка, а именно, что они содержат определения для определенного диапазона версий браузера. Но версии для некоторых браузеров (например, IE 10) уже не входят в эти диапазоны. Поэтому ASP.NET рассматривает их как неизвестные браузеры и по умолчанию использует определение нижестоящего уровня, которое имеет определенные неудобства, например, что оно не поддерживает такие функции, как JavaScript.

К счастью, для .NET Framework 4.0 доступно исправление

https://support.microsoft.com/en-gb/kb/2600088

Вы можете узнать больше об этой проблеме в блоге Скотта Ханселмана

http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx

Ответ 3

У меня была (почти) та же проблема, и она была исправлена ​​путем переустановки .NET Framework на IIS

Ответ 4

Попробуйте установить причиныValidation = false для кнопки