Asp.Net,DropDownList,AutoPostBack和Google Chrome
我有一个简单的asp.net页面(框架3.5)和一个UpdatePanel与一系列的下拉列表我想要异步填充.所有主流浏览器(Opera,Safari,IE6,IE7,FF3)都可以正常工作,但不能在Chrome中运行.
Chrome似乎忽略了必须提出异步请求的SelectedIndexChanged事件. 任何人都知道一个简单的解决方法吗? 编辑:更多信息 正如我对Adam Lassek所说,updatepanel在点击之后刷新一个asp:Button,但它不适用于下拉列表的SelectedIndexChanged事件. updatepanel设置为: <asp:UpdatePanel ID="updPanel" runat="server" UpdateMode="Always" ChildrenAsTriggers="true"> 没有指定触发器,并且dropdows具有AutoPostBack =“true” (更新)(并重新引用) 经过几次尝试后,我发现这不是UpdatePanel的问题,但是似乎下拉列表的AutoPostback无法正常工作,即使在没有ScriptManager和UpdatePanel的页面中也是如此. 如果有人有一些想法在… 解决方法
有一个与Ajax.NET和Chrome& Safari 3.
小而快速的测试可能是欺骗性的,因为它似乎可以像现有的Ajax.NET库一样正常工作.这是因为它会执行第一个Ajax请求,并在该结束时失败,因此只有当您尝试执行第二个Ajax操作时,您会注意到它已失败.如果您在页面上放置了一个UpdateProgress控件,您会注意到,在第一个请求之后,您的UpdateProgress控件将不会消失. 幸运的是,有一个答案! 最近有一个很好的帖子详细说明了你可以在这里找到该做什么: http://blog.turlov.com/2009/01/aspnet-ajax-compatibility-patch-for.html 它的一般要点是,Chrome和Safari 3都将自己的WebKit报告在用户代理字符串中. 您需要添加一些javascript来帮助Ajax.NET框架识别基于WebKit的浏览器,如下所示: if (typeof(Sys.Browser.WebKit) == "undefined") { Sys.Browser.WebKit = {}; } if (navigator.userAgent.indexOf("WebKit/") > -1 ) { Sys.Browser.agent = Sys.Browser.WebKit; Sys.Browser.version = parseFloat(navigator.userAgent.match(/WebKit/(d+(.d+)?)/)[1]); Sys.Browser.name = "WebKit"; } 您需要将其添加到JavaScript文件中,并在ScriptManager中引用它: <asp:ScriptManager ID="ScriptManager1" runat="server"> <Scripts> <asp:ScriptReference Path="~/assets/javascript/WebKit.js" /> </Scripts> </asp:ScriptManager> 请注意,您可以将WebKit.js保留在程序集中,并通过使用类似于以下的ScriptReference标签进行引用: <asp:ScriptReference Assembly="Scripts" Name="Scripts.webkit.js" /> 一旦你完成了所有这一切,如果可能的话,停止使用WebForms和Ajax.NET并使用MVC和jQuery (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 在webapi中实现PATCH
- asp.net-mvc-3 – 在运行时更改viewmodel的MetadataType属性
- .net – 具有实体框架的存储库模式
- asp.net-mvc – ASP.NET MVC 3自定义HTML助手 – 最佳实践/
- [ASP.NET] 如果将缓存“滑动过期时间”设置为1秒会怎样?
- asp.net-mvc – MVC – 无法解析视图(单独项目中的控制器和
- asp.net-mvc – 将JSON.NET JObject转换为JsonResult的异常
- asp.net – 是否可以访问配置文件而不更新LastActivityDate
- asp.net-mvc-4 – ajax post works vs. angularjs $http无法
- asp.net-mvc – ASP.NET MVC做浏览器刷新让TempData无用吗?
- asp.net – 将数组传递给客户端进行显示
- 如何减少IISRESET在IIS 5.1中开发ASP.NET Web应用
- 在asp.net中使用SQL查询中的变量(C#)
- ASP.NET表单身份验证 – 在调试时使用测试帐户自
- asp.net-mvc – ASP.NET MVC:三态复选框
- ASP.NET MVC:经过几分钟的缓慢访问,然后每次以下
- 定期刷新局部视图(ASP.Net MVC)
- asp.net-mvc – 使用哪种FormsAuthentication方法
- asp.net-mvc – Asp.Net MVC 2 – 在Model Binde
- asp.net – 在VS2008发布网站后,全球资源无法解决