我有一个ASP.NET页面,它有时不会生成预期的"WebForm_AutoFocus()“javascript,即使我在其中一个控件上显式调用了.Focus()。有没有一些已知的情况下,某些因素会阻止javascript的生成?
具体地说,当用户单击某个特定按钮时,我会动态创建一些新控件:在本例中是一个文本框。在OnPreRender中,我抓取新创建的控件并对其调用.Focus()。其思想是,当回发完成时,浏览器将焦点放在新创建的textbox控件上。然而,生成的超文本标记语言(通过firebug和fiddler验证)根本不包含WebForm_Autofocus调用。
在其他情况下,相同的页面(在回发或初始命中时)在一个不同的控件上调用.Focus() -一个不是动态创建的控件;在这些情况下,WebForm_AutoFocus()脚本会完美地生成,一切都很好。
不幸的是,我在一个客户端系统上工作,它喜欢框架之上的框架,以及抽象之上的抽象,所以我不能在这里发布一个有意义的/简洁的代码示例。然而,如果我的任何一个好朋友知道更多关于"WebForm_AutoFocus“javascript生成的知识--以及阻止它生成的场景--那将给我一个很好的开始挖掘的地方。
发布于 2013-01-22 05:09:02
只有当asp.net认为有必要时,才会包含自动聚焦调用。在页面上设置一个默认按钮,以便asp.net知道如何创建该方法。
https://stackoverflow.com/questions/10883847
复制相似问题