我有一个ASP.Net 网页,其使用的主页模板。

该网页有一个UpdatePanel一些基本的阿贾克斯功能(更改价值的下拉列表和UpdatePanel将刷新)。这是所有工作得很好。

我还有一个链接,会弹出一个nyromodal模式,内部模式,另一个ASP.Net 网络的形式载..因为我想要这个页面本身都有其自己的功能,而不只是一个静态网页等。它是一个"创新的"对话是准确的。因此,它创建了一个新的记录,然后,当它关闭你回去主要的"记录"的网页等。

我用以下。发起的nyromodal话。这个代码也包括各种其他的调整和设置,以使nyromodal更多的兼容ASP.Net因为这是关于5个连续不兼容,我们面对和解决之间和nyromodal ASP.Net (教训:远离ASP.Net)

$(document).ready(function(){
    $(function(){
      $('.modal').live('click', function(evt){
        $(this).nyroModalManual({'blocker':'#aspnetForm',minWidth:640,minHeight:400,endShowContent:function(elt, settings) { $('input:text:first', elt.content).focus(); }});
        evt.preventDefault();
      });
    });
});

这个代码的工作非常及(感谢布赖恩),因为它解决了一些其他的问题ASP.Net 和nyromodal一起工作。它甚至采用拦截:#aspnetForm位停止nyromodal从外的ASP.Net's主要回发形式命名aspnetForm,这意味着解决一个 几乎相同的问题.

但是..

网页,我是载入我的模式,也是一个.网络的形式。因此,它也有其自身的内在回发aspnetForm的课程。所以当模式的出现和使用萤火虫检查DOM结构,实际上我有两个ASP.Net 形成现在(嵌套的).因为nyromodal本质上只是一个div(或几div),形式上的标签是基本上嵌套。

因此,我认为这是拧的事情了很大的时间。它实际上的崩溃完全ie7(致命的例外情况)。IE7+FireFox:当我靠近的话,我的主要网页形式不会回发任何的更多。我认为它是非常迷惑2形式的标记,有的时刻前。

它应该是一个非常简单的要求能够打开一个ASP.Net 网形式的内容模式的使用nyromodal.我不怪它ASP.Net 这么跛脚,并把一个强制性的"形式"的标签,在每一页上。如果我是使用PHP,我就不会遇到任何这些问题我有今天但我坚持使用ASP。膨胀对工作的目的。

任何思想或见解非常感谢!:)

有帮助吗?

解决方案

你有没有考虑在模式打开页面的iFrame,这样它的内容(新的形式,标签等)将不与主机页面干涉?

$(this).nyroModalManual({type:'iframe'});

其他提示

Im实际上的人报告说,问题。首先,妳尝试过的ASP.NET nyroModal插件,jimbobmcgee(在同一页上的u相联系) 发展?我还没有作为但是,正如我coludnt找时间去过的包含的文件。如果你做的寿,让我知道我的作品了妳。

这实际上是完美的时机...另一个替代方案,这是我在调查、正在使用的正常HTML网页,而不是web表单的模式。因此,我打算到包裹了我的服务器侧码内的服务,并利用jQuery打电话给它,并回JSON响应。

原谅的精确度我的解释,因为我刚开始与web服务和网页的方法,这样我也学习。因此我要求对某人发布一个简单的"hello World"的例子。

希望这可以帮助一点。

如果你把这个页面的头部。它允许nyro模态闭合以模拟回发。

<script type="text/javascript">
$(document).ready(function(){$.nyroModalSettings({
  modal: true,minWidth: ###,minHeight: ###,
  endRemove:function(){
   document.location='pageYouWantToRefresh.aspx';
  }    
});});  
</script>

只是改变document.location和窗口关闭时它会去那里。

我发现声发射的最简单的解决方案是加载弹出窗口作为一个iframe,不内联或通过AJAX。只是一个想法。 :)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top