【问题标题】:How can I refresh a fancybox popup?如何刷新fancybox弹出窗口?
【发布时间】:2012-02-29 00:57:12
【问题描述】:

enter code here我有一个花式框弹出窗口,上面有城市列表和一个文本框。一旦用户在文本框中输入另一个城市名称并单击“保存”,我就可以将新城市保存到数据库中,但是我怎样才能只重新加载弹出窗口,以便新城市也出现在列表中? 我的弹出窗口是一个 ASPX 页面,我所要做的就是以某种方式执行 Page_Load 事件,以便它显示包含所有城市的数据网格。

有什么办法可以做到吗?以某种方式重新加载弹出窗口?请帮忙!!!

这是打开我的弹出窗口的花式框代码:

$(document).ready(
                function () {
                    $("#location").fancybox({
                        onClosed: function () {
                            __doPostBack('BodyContent', '');
                        },
                        ajax : {
                        'cache': false,
                        'titlePosition': 'inside',
                        'overlayShow': true,
                        'overlayColor': '#000',
                        'transitionIn': 'elastic',
                        'transitionOut': 'elastic'
                      }
            });

        });  

【问题讨论】:

  • 我猜你的函数格式不正确,你不应该把fancybox选项放在ajax调用中。据我所知,您的函数仅将fancybox 绑定到选择器“#location”,但不会触发fancybox(除非您的代码的其他部分未在此处发布)

标签: asp.net fancybox refresh pageload


【解决方案1】:

如果我理解得很好,您应该这样做:在关闭弹出窗口时执行的服务器事件中,确保您重新绑定网格(向其提供更新的数据并再次调用其 DataBind 方法。

【讨论】:

  • 不,我想重新加载我的弹出窗口,而不是我的父母。我希望我的弹出窗口重新执行 page_load 事件
  • 那么,在回发之后,您希望在页面加载后立即显示弹出窗口吗?我看到__doPostBack('BodyContent', ''); 语句看起来像是在弹出窗口关闭时执行的,所以我的结论是 POST 发生了吗?或者,这是一个 AJAX 调用吗?
  • 那是在我关闭弹出窗口时,但如果我不关闭弹出窗口,我希望能够通过单击按钮或超链接(即在弹出窗口上)刷新我的弹出窗口例如。
  • 那么,您不能添加与您刚刚发送到服务器的新记录相关的 HTML 吗?因此,当 AddCity ajax 调用返回时,为新城市添加 HTML(它可能是一个 TR 元素和一些 TD)。
  • 我没有这样想,我想它可以完成....但是 - 有没有办法简单地刷新打开的弹出窗口?一定有办法,你不觉得吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-29
相关资源
最近更新 更多