asp.net – UpdatePanel和ClientIDMode =“静态”的可能解决方案
发布时间:2020-12-16 06:25:47 所属栏目:asp.Net 来源:网络整理
导读:我一直在寻找Asp.NET中静态ClientIDMode UpdatePanel的解决方案,如 http://connect.microsoft.com/VisualStudio/feedback/details/584991/clientidmode-static-in-updatepanel-fails-to-do-async-postback所示 问题出在Sys.WebForms.PageRequestManager.uniq
我一直在寻找Asp.NET中静态ClientIDMode UpdatePanel的解决方案,如
http://connect.microsoft.com/VisualStudio/feedback/details/584991/clientidmode-static-in-updatepanel-fails-to-do-async-postback所示
问题出在Sys.WebForms.PageRequestManager.uniqueIDToClientID函数中,它通过将“$”字符替换为“”将名称转换为id. var old_uniqueIDToClientID = Sys.WebForms.PageRequestManager.prototype._uniqueIDToClientID; Sys.WebForms.PageRequestManager.prototype._uniqueIDToClientID = function (arg) { var element = this._form.elements[arg]; return (element) ? element.id : old_uniqueIDToClientID(arg) } 解决方法
我们做了类似的修复,但是我们改变了另一个涉及搜索导致回发的元素的函数.
我们在主页的底部放置了以下代码,以确保在scriptmanager加载脚本后包含它.本质上它会一直修改id,直到找到导致回发的元素.原始代码通过从美元符号分隔的名称右侧删除标记来搜索元素.所以“$ctl00 $ddl001”将成为“$ctl00”.如果您使用静态ID,则该后缀可能永远不存在.我们将函数修改为从左侧开始并删除容器名称,直到找到元素. 它现在似乎对我们有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – AsyncPostBackTrigger和PostBackTrigger有什么区
- Asp.net动态验证器无法在Chrome或Safari中使用
- 腾讯云-容器-常用操作命令
- asp.net-mvc – 从asp.net mvc控制器返回一个js文件
- asp.net-mvc – ASP.NET MVC中的动态(运行时生成)表单
- ASP.NET控件来渲染
- asp.net-core – ASP.NET核心 – 在帖子后更改表单值
- asp.net-mvc – ASP.NET MVC Javascript ActionResult
- ASP.NET MVC 2中是否存在强类型的RedirectToAction?
- asp.net – 如何准备控制器使用Session但是可以测试?
推荐文章
站长推荐
热点阅读