我在我的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.NET、MVC和jQuery实现弹出?
有教程吗?
发布于 2010-06-30 15:39:17
一切都是客户端完成的,因此性能完全取决于JavaScript和jQuery代码,而与任何服务器端代码(如ASP.NET MVC )无关。
你使用了相当复杂的效果弹出,我看到<div />调整动画,透明度,阴影,工程。JavaScript的性能已经与最近的浏览器取得了飞跃,但它的性能,但仍然是缓慢的做非常奢侈的视觉效果。您是否尝试过使用您正在使用的任何模式弹出JavaScript库来调整视觉效果。
“还有一些奇怪的行为,因为我几乎每次都能在弹出窗口中看到旧的值。如果我单击”编辑“按钮,然后关闭弹出窗口并单击另一个编辑按钮,我可以在短时间内看到旧的值。”
我假设弹出实际上正在加载一个iframe,它指向“Employee/Create”页面。我的猜测是,当弹出窗口关闭,然后再用不同的页面重新打开时,前一页仍将位于弹出页面的iframe中,而"load-new- page /url“事件在弹出重新出现之前不会被触发,这就是为什么您非常简短地看到旧页的原因。
我遇到了一个类似的问题,你需要稍微调整一下模式弹出行为,这样它就可以先加载新页面,然后打开弹出页面,而不是相反,它现在正在做的事情。我的解决方案有点麻烦,因为iframe中的页面有一个$(document).ready({});事件调用了一些JavaScript函数--iframe的父函数来加载弹出。例如:将此放在位于iframe中的页面中:
<script type="text/javascript">
$(document).ready(function()
{
window.parent.openPopup();
});
</script>然后,需要在iframe的父(即)中定义'openPopup()‘JavaScript方法。主页列出您的记录)。
发布于 2010-06-30 13:48:55
发布于 2010-06-30 21:36:24
看这里 -不同的帖子,但答案是与你的问题有关的MVC和jQuery。
https://stackoverflow.com/questions/3149807
复制相似问题