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-mvc – ModelState.IsValid或Model.IsValid?
- 如何在ASP.NET中重命名文件?
- asp.net – UpdatePanel中的DropDownList
- ASP.NET C#捕获类中的所有异常
- asp.net-mvc – 有什么图形设计器ASP.NET MVC吗?
- asp.net – 如何序列化LINQ-to-SQL惰性列表
- asp.net-mvc – 当Bundling EnableOptimizations为true时,F
- asp.net – .net网络应用程序中的异常处理
- entity-framework – 数据读取器与指定的模型不兼容
- asp.net-mvc – @ Html.BeginForm()如何工作?
- asp.net中js+jquery添加下拉框值和后台获取示例
- asp.net-mvc – 存储库模式和单元测试ASP.NET We
- ASP MVC Razor在输入占位符中编码特殊字符
- asp.net-mvc-4 – ASP.NET帮助页面默认主页?
- asp.net-mvc-3 – 在IIS上运行时,ASP.NET Web应用
- asp.net-mvc – 在AccountController之外访问Use
- asp.net-mvc-4 – SimpleMembership – 向UserPr
- asp.net – %%和%=%之间有什么区别?
- asp.net – 多租户应用程序的输出缓存,因主机名和
- asp.net确保javascript只加载一次
