- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在到处寻找 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)
}
最佳答案
我们进行了类似的修复,但我们更改了另一个涉及搜索导致回发的元素的函数。
我们已将以下代码放置在母版页的底部,以确保在脚本管理器加载其脚本后包含该代码。从本质上讲,它会不断修改 id,直到找到导致回发的元素。原始代码通过从由美元符号分隔的名称右侧删除标记来搜索元素。所以“$ctl00$ddl001”会变成“$ctl00”。如果您使用的是静态 ID,那么该后缀可能永远不会存在。我们将函数修改为从左侧开始并删除容器名称,直到找到一个元素。
它现在似乎对我们有用。 :)
if (Sys.WebForms.PageRequestManager) {
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm._findNearestElement = function (uniqueID) {
while (uniqueID.length > 0) {
var clientID = this._uniqueIDToClientID(uniqueID);
var element = document.getElementById(clientID);
if (element) {
return element;
}
var indexOfFirstDollar = uniqueID.indexOf('$', 1);
if (indexOfFirstDollar === -1) {
return null;
}
uniqueID = uniqueID.substring(indexOfFirstDollar + 1, uniqueID.length);
}
return null;
};
}
关于asp.net - UpdatePanel 和 ClientIDMode ="Static"的可能解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13744513/
很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。如需帮助澄清这个问题以便重新打开它,visit the help center .
我正准备进行 .NET 考试,我遇到了这个问题。我一直在为此烦恼,但我无法弄清楚:s我尝试了所有这些但没有想出一个明确的答案...... You are implementing an ASP.NET
我有一个 ASP.NET 2.0 Web 应用程序,在其中一个页面上我有一个 div 定义如下: 它位于如下定义的内容占位符内: 但是当生成 HTML 时,我得到一个像这样的名称 ctl00_Ma
我是新手,正在学习 asp.net 和 javascript。 这可能是一个愚蠢的问题,因为我想检查如何使用 javascript 在 asp.net 上工作。 该按钮仅针对客户端调用 OnClien
MSDN 文档中有关 ClientIdMode 的说明: Static The ClientID value is set to the value of the ID property. If th
我正在开发 asp.net 项目,每次我需要使用 jquery 标识符 $(#"objectID")。我必须将每个对象上的 ClientIDMode 更改为静态。因为我注意到默认的客户端 ID 模式是
大家好,我是asp.net的新手, 我在更新面板内的转发器中有一个复选框,每当我单击复选框时页面都会闪烁,最后发现添加 ClientIDMode="AutoID"控制闪烁并且一切正常。 我想知道 Cl
我们最近将我们的应用程序从 .NET 2.0 升级到了 .NET 4.0 由于 .NET 中的 ClientModeId 现在被设置为 AutoID(而不是静态) 我是开发人员而不是服务器人员 - 有
ASP.NET 4.0 引入了“ClientIDMode”属性,它允许指定 html 元素的 ID 在输出 html 中的呈现方式。 我的项目当前设置为“静态”(最短/不包含层次结构 ID) 当使用任
我一直在到处寻找 Asp.NET 中静态 ClientIDMode + UpdatePanel 的解决方案,如 http://connect.microsoft.com/VisualStudio/fe
我有一些用 C# 为我的 Web 应用程序构建的自定义控件。我还使用 Visual Studio 2013。 控制: Years 从 ASPX 页面调用它,我想在以下位置使用它
我有一个 asp:ListView其 ClientIDMode 设置为 Predictable。它的 ItemTemplate 包含一个 asp:textbox . 文本框的 ID 符合我的预期,但它
看看这个标记: ' border="0" alt="
我想在 ASP.NET 3.5 控件上拥有全新的 ClientIDMode 和 ClientID 属性,有什么方法可以实现这一点吗? 我正在考虑替换默认的控制编译器,这是可能的还是有很多更改可以使此行
拜托,我需要帮助。我的应用程序是 3.5 版本。我无法移动到更高版本。我所有的 css 样式都依赖于 #ids,因此解决方案可以将 id 移动到类,但这将是一项艰巨的工作。 在我的 html 元素上,
我是一名优秀的程序员,十分优秀!