我有一个ASP.NET页面,有时候不会生成预期的“WebForm_AutoFocus()”javascript,即使我在其中一个控件上显式调用.Focus()。是否有任何已知的情况,某些因素会阻止生成javascript?
具体来说,当用户点击某个特定按钮时,我会动态创建一些新控件:在本例中为文本框。在OnPreRender中,我抓住了新创建的控件并在其上调用.Focus()。这个想法是,当回发完成时,浏览器将焦点放在新创建的文本框控件上。但是,生成的HTML(通过firebug和fiddler验证)根本不包含WebForm_Autofocus调用。
在其他scernarios中,同一页面(在回发时或初始命中时)调用.Focus()在另一个控件上 - 一个不动态创建;在这些情况下,WebForm_AutoFocus()脚本生成完美,一切都很好。
不幸的是,我正在开发一个客户端系统,它在框架上使用框架,并在抽象方面进行抽象,所以我不能在这里发布有意义/简洁的代码示例。但是,如果我的任何友好的SO'er知道更多关于“WebForm_AutoFocus”javascript的生成 - 以及会阻止它生成的场景 - 这将给我一个开始挖掘的好地方。
答案 0 :(得分:0)
如果asp.net认为需要它,则仅包含自动对焦调用。在页面上设置一个默认按钮,以便asp.net知道如何制作方法。