【问题标题】:Close FaceBox from code behind从后面的代码关闭 FaceBox
【发布时间】:2011-01-03 12:44:57
【问题描述】:

我无法从后面的代码中关闭 jQuery Facebox。我正在通过 FaceBox 插入一条新记录,成功插入后需要关闭 FaceBox。我怎样才能做到这一点?

【问题讨论】:

  • 你能告诉我们更多的代码吗?理想情况下使用的 javascript?

标签: c# asp.net jquery facebox


【解决方案1】:

Facebox 公开了一些事件,其中之一是facebox.close。所以,你可以这样做:

function add_record() {
    // ... add the record here ...
    jQuery(document).trigger('close.facebox');
    //or: $(document).trigger('close.facebox');
}

这应该会为你关闭 facebox。

编辑:要通过代码隐藏执行此操作,您似乎需要从代码隐藏页面编写实际的 javascript。我不是 .NET 程序员,但这个问题看起来可能会为您指明正确的方向:how to write javascript in asp.net in code behind using C#

关键是如果你触发close.facebox事件,Facebox会关闭。

【讨论】:

  • 我尝试了上述方法,但它不起作用。一旦用户点击默认的 Facebox 关闭按钮,会调用什么脚本?我可以从 .cs 文件中调用相同的脚本吗?
  • 啊,抱歉,我不是 .net 程序员,所以我不确定你的问题中的代码隐藏是什么意思。我只是假设您指的是页面上的常规 javascript 代码。我的答案是一个 javascript 函数,一旦实际添加了记录,就需要在 javascript 中调用它。
  • 我可以从后面的代码中调用一个 JS 函数。在这种情况下,我应该在 JS 函数中有什么?
  • JS函数应该调用:$(document).trigger('close.facebox');
【解决方案2】:

已解决:

aspx 页面:

//从用户控件添加数据字段和按钮

Aspx.cs 页面:

Page page = HttpContext.Current.Handler as Page; 如果(页面!= null) { ScriptManager.RegisterStartupScript(page, page.GetType(), "err_msg", "close_facebox()", true); }

js函数:

函数 close_facebox() { $('#addlink').css('display', 'none'); $('#addlink').overlay().close(); }

【讨论】:

    猜你喜欢
    • 2011-01-15
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 2016-05-12
    • 2011-08-02
    • 1970-01-01
    相关资源
    最近更新 更多