Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET MVC 2弹出对话框-性能和奇怪行为_Asp.net Mvc_Asp.net Mvc 2_Popup - Fatal编程技术网

Asp.net mvc ASP.NET MVC 2弹出对话框-性能和奇怪行为

Asp.net mvc ASP.NET MVC 2弹出对话框-性能和奇怪行为,asp.net-mvc,asp.net-mvc-2,popup,Asp.net Mvc,Asp.net Mvc 2,Popup,我在Index.aspx中使用此选项: <%= Html.StandardOverlayCreateButton() %> <div class="apple_overlay" id="overlay"> <div class="contentWrap"> </div> </div> 也就是说: <a href="Employee/Create" rel="#overlay"><button ty

我在Index.aspx中使用此选项:

<%= Html.StandardOverlayCreateButton() %>
<div class="apple_overlay" id="overlay">
    <div class="contentWrap">
    </div>
</div>

也就是说:

<a href="Employee/Create" rel="#overlay"><button type="button">Create</button></a>
<div class="apple_overlay" id="overlay">
    <div class="contentWrap">
    </div>
</div>

当您按下按钮时,会出现带有Create.aspx的弹出窗口。看看这个->

对我来说,覆盖性能似乎很慢

还有一些奇怪的行为,因为我几乎每次都能在弹出窗口中看到旧值。如果单击编辑按钮,然后关闭弹出窗口并单击另一个编辑按钮,我可以在短时间内看到旧值。

是否有更好的方法使用ASP.NETMVC和jQuery进行弹出式显示


有教程吗?

你真的需要动画吗

也许你不需要
效果:“苹果”
属性

效果很慢,尤其是在IE上


一切都是在客户端完成的,因此性能完全取决于JavaScript和jQuery代码,而与任何服务器端代码(如ASP.NET MVC)无关

你在弹出窗口中使用了很多复杂的效果,我看到了调整动画大小、透明度、阴影等等。JavaScript的性能在最近的浏览器中有了突飞猛进的发展,但是它的性能仍然很低,因为它会产生非常奢侈的视觉效果。您是否尝试过使用任何模式弹出JavaScript库来调整视觉效果

“还有一些奇怪的行为, 因为我几乎每次都能看到 弹出窗口中的旧值。如果单击 单击“编辑”按钮,然后关闭 弹出并单击另一个编辑按钮,I 可以短期查看旧值 时间。”

我假设弹出窗口实际上正在加载一个iframe,它指向“Employee/Create”页面。我的猜测是,当弹出窗口关闭,然后用另一个页面重新打开时,上一个页面仍将位于弹出窗口的iframe中,“加载新页面/url”事件在弹出窗口重新出现之前不会触发,因此您会很短时间看到旧页面

我有一个与此类似的问题,您需要稍微调整模式弹出窗口的行为,以便它首先加载新页面,然后打开弹出窗口,而不是它当前所做的其他方式。我对此的解决方案有点粗糙,因为iframe中的页面有一个$(document.ready({});调用iframe父级的某个JavaScript函数以加载弹出窗口的事件。例如,将此内容放在iframe内的页面中:

<script type="text/javascript">

    $(document).ready(function()
    {
        window.parent.openPopup();
    });

</script>

$(文档).ready(函数()
{
window.parent.openPopup();
});

然后,您需要在iframe的父级(即列出您的记录的主页)中定义“openPopup()”JavaScript方法。

查看-不同的帖子,但答案与您关于MVC和jQuery的问题相关。

没有iframe。一切都是通过Ajax实现的。