我在ASP.Net项目中使用jQuery和SimpleModal来为Web应用程序创建一些不错的对话框.不幸的是,模态对话框中的任何按钮都不能再执行回发,这是不可接受的.
我找到了一个解决方法的来源,但对于我的生活,我无法让它工作,主要是因为我没有完全理解所有必要的步骤.
我也有一个解决方法,即替换回发,但它很难看,可能不是最可靠的.我真的想让回发再次运作.有任何想法吗?
更新:我应该澄清,回发不起作用,因为用于执行回发的Javascript在某种程度上已经破坏,所以当点击按钮时根本没有任何反应.
你们两个都在正确的轨道上.我意识到SimpleModal将对话框附加到ASP.Net之外的主体,它破坏了功能,因为它无法找到元素.
为了解决这个问题,我刚刚修改了SimpleModal源代码'form'
而不是附加eveything 'body'
.当我创建对话框时,我也使用该persist: true
选项,以确保按钮保持打开和关闭.
谢谢大家的建议!
更新:版本1.3 appendTo
在配置中添加了一个选项,用于指定应将模式对话框附加到哪个元素.这是文档.
所有标准的ASP.NET回发都可以通过在页面上调用__doPostBack javascript方法来工作.该函数提交表单(ASP.NET每页真的只喜欢一个表单),其中包含一些隐藏的输入字段,其中所有的viewstate和其他善良都存在.
从表面上看,我在SimpalModal中看不到任何会搞砸页面形式或任何标准隐藏输入的内容,除非该模式的内容恰好来自HTTP GET到ASP.NET页面.这将导致两个ASP.NET表单呈现为一个DOM,几乎肯定会搞砸__doPostBack函数.
您是否考虑过使用ASP.NET AJAX ModalPopup控件?