我一直在寻找解决 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)
}