asp.net - webbrowser - WebForm_DoPostBackWithOptions no está definido usando chrome
webbrowser vb.net chrome (4)
En una de mis páginas, mis enlaces dinámicos funcionan bien en IE10, pero no funcionan en Chrome ni a través de Explorer en mi teléfono con Windows. En Chrome obtengo el mensaje "WebForm_DoPostBackWithOptions no está definido" cuando intento hacer clic en cualquiera de los enlaces dinámicos. He investigado mucho y he intentado modificar la configuración de los filtros ISAPI en las Asignaciones de controladores en IIS 8, pero eso no funcionó. Por favor ayuda. Estoy perplejo.
Actualización: Esto tampoco funciona en Firefox. Parece que los enlaces dinámicos en esta página funcionan solo en IE10. Los enlaces se están generando desde mi código. Lo extraño es que en las otras páginas los enlaces se generan de manera diferente, ya que el javascript en el href es diferente, pero estoy creando los anclajes en el código exactamente de la misma manera.
Aquí está el código para un anclaje "malo":
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
Y el resultado "malo":
<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>
Aquí hay un ancla "de trabajo":
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")
Y el resultado "de trabajo":
<a id="MainContent_pcancJoe19416" **href="javascript:__doPostBack(''ctl00$MainContent$pcancJoe19416'','''')"** action="actionA" for="194" jn="foo foo" forc="16" style="font-size: 150%;"></a>
El código JS respectivo (es decir, WebForm_DoPostBackWithOptions (opciones)) es una parte integrada y está enlazada dinámicamente. ScriptManager de la página genera una URL adecuada.
Teniendo en cuenta que ha mencionado que está utilizando la Reescritura de URL, intente comprobar si las URL como WebResource.axd? D = XXX no se están ignorando / reescribiendo.
Además, podría valer la pena consultar la configuración de asignación de controladores de IIS para garantizar que los recursos .axd se asignen al controlador de módulo ISAPI estándar.
Hay un error en los archivos de definición del navegador que se incluyen con .NET 2.0 y .NET 4, a saber, que contienen definiciones para un cierto rango de versiones del navegador. Pero las versiones para algunos navegadores (como IE 10) ya no están dentro de esos rangos. Por lo tanto, ASP.NET los ve como navegadores desconocidos y por defecto a una definición de nivel inferior, que tiene ciertos inconvenientes, como que no admite funciones como JavaScript.
Afortunadamente, hay una revisión disponible para .NET Framework 4.0
https://support.microsoft.com/en-gb/kb/2600088
Puedes leer más sobre este tema en el blog de Scott Hansellman
Intente establecer causasValidación = falso para el botón
Tuve (casi) el mismo problema, y se solucionó al reinstalar .Net Framework en el IIS