背景:
我在 ASP.NET 2.0 上的 jquery 1.3.2 上使用 jquery blockui 2.31。
我正在使用该对话框将(通常)隐藏的 DIV 显示为一种弹出模式对话框,其中包含 ASP.NET 服务器端控件(为简单起见,使用 asp:Button)。没有 AJAX,或者不保证有。
jquery blockui 所做的其中一件事是,如果您将一些 html 元素传递给它 - 它会将控件从页面中的位置移除,并将其附加到body。
ASP.NET 2.0 似乎希望回发的控件采用 $(#aspnetForm) 可以找到的形式。jquery blockui 只是将它们移到正文中,因此回发永远不会触发。
该方法是一个实例方法,可能无法像静态方法一样工作(引用登录用户和页面控件...)
我做了一些挖掘:
我修改了 jquery blockui 以附加到表单(并与选择器搏斗以删除块),但它使 IE6 和 IE7 失效——覆盖从表单开始,整个对话框出现偏离中心。隐藏覆盖不是一个选项,我真的很讨厌弄乱 IE 特定的 css 和 IE 特定的脚本。
我尝试将一些层附加到正文和一些表单,但正文层总是显示在表单层的顶部(因此阻止输入的不透明层也会阻止我试图显示的 div 上的输入)。
我认为解决方案是让 div 调用隐藏的虚拟锚来执行原始按钮的回发。Sontek在他对相关问题的回答中提出了这一点。
我的实际问题:
我是否在使用假回传技巧的正确轨道上?我想如果我依赖 jquery 来实现模态对话框功能,我不应该担心回退。
或者,我是否应该继续处理表单添加的样式?