bra*_*rad 20 vb.net asp.net google-chrome
在我的一个页面上,我的动态链接在IE10中运行良好,但在我的Windows手机上无法在Chrome或浏览器中使用.在Chrome中,当我尝试点击任何动态链接时,我得到"WebForm_DoPostBackWithOptions未定义".我已经做了很多研究,并尝试在IIS 8中的Handler Mappings中修改ISAPI过滤器的设置,但这没有用.请帮忙.我很难过.
更新:这在Firefox中也不起作用.看来这个页面上的动态链接仅适用于IE10.链接是从我的代码隐藏生成的.奇怪的是,在其他页面上链接的生成方式不同,href上的javascript不同,但我在代码隐藏中创建锚点的方式完全相同.
这是"坏"锚点的代码:
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
Run Code Online (Sandbox Code Playgroud)
而"坏"的结果:
<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>
Run Code Online (Sandbox Code Playgroud)
这是一个"工作"锚:
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")
Run Code Online (Sandbox Code Playgroud)
而"工作"的结果:
<a id="MainContent_pcancJoe19416" **href="javascript:__doPostBack('ctl00$MainContent$pcancJoe19416','')"** action="actionA" for="194" jn="foo foo" forc="16" style="font-size: 150%;"></a>
Run Code Online (Sandbox Code Playgroud)
小智 2
相应的 JS 代码(即 WebForm_DoPostBackWithOptions(options))是内置部分,并且是动态链接的。页面的 ScriptManager 正在生成正确的 URL。
考虑到您已经提到您正在使用 URL 重写,请尝试检查像 WebResource.axd?d=XXX 这样的 URL 是否未被忽略/重写。
此外,可能值得查看 IIS 处理程序映射配置,以确保 .axd 资源映射到标准 ISAPI 模块处理程序。
| 归档时间: |
|
| 查看次数: |
6614 次 |
| 最近记录: |