【问题标题】:Using fancybox after a postback在回发后使用 fancybox
【发布时间】:2014-08-22 13:18:11
【问题描述】:

我昨天在用C#asp.net开发网页的时候开始使用fancybox插件,我成功地用它来显示隐藏的面板、图像等。

但今天我想在回发后将它用于不同的情况。

我有一些在页面加载时动态创建的链接按钮。每个按钮单击都会更改隐藏面板的内容 - 例如标签的文本。我想在花式框中显示更改后的面板,但我真的不知道如何。

我只想说我搜索了几个小时的解决方案,但没有找到与我的问题匹配的解决方案。

我可以做错什么吗? 我会很乐意学习的。

谢谢。

编辑

我的html文档包括:

<asp:Panel ID="Panel1" runat="server">   
</asp:Panel>

<div style="display:none">
    <div id="data">
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
</div>

Panel1 将成为动态按钮的父级。 data div 是其内容必须显示在fancybox中的div。

背后的代码:

protected void Page_Load(object sender, EventArgs e)
{
    for (int i = 1; i <= 4; i++)
    {
        LinkButton but = new LinkButton() { ID = "LinkButton" + i.ToString(), Text=i.ToString(), CssClass="fancybutton" };
        but.Font.Size = 100;
        but.Click += new EventHandler(ButtonClick);
        Panel1.Controls.Add(but);
    }
}

protected void ButtonClick(object sender, EventArgs e)
{
    string id = (sender as LinkButton).ID;
    Label1.Text = id;

    Response.Write(Label1.Text); // test in purpose to see the label text's change
}

我的 jquery:

        $(".fancybutton").click(function () {
            $.fancybox({
                'type': 'inline',
                'content': '#data'
            });
        });

fancybox 似乎出现了一秒钟,但由于回发页面被刷新,fancybox 消失了。

【问题讨论】:

  • 什么版本的fancybox?如果是 v1.3.4,则该版本不支持动态添加的元素,因此请检查 stackoverflow.com/a/9084293/1055987 .... 如果使用 v2.x 并且仍然无法正常工作,请发布您正在使用的代码或重现问题的 jsfiddle。跨度>
  • 但我猜服务器控件不同(如果我错了,请告诉我)。我会尽量让自己更清楚 - 链接按钮在后面的代码中有点击事件。我有 4 个链接按钮,每个链接按钮都会更改后面代码中的标签文本。我的问题是如何在服务器中进行更改,然后调用fancybox弹出。
  • 不知道,我们需要先查看您渲染的 html 以及将事件绑定到这些 html 元素的 jQuery 代码,然后我们才能做出任何假设
  • 嗯,我用了我自己制作的一些物件等等,不过我会试着在一分钟内做一个演示
  • 我的问题已编辑。

标签: jquery asp.net fancybox


【解决方案1】:

试试这个: 正如你所说,你的花哨的盒子出现了一秒钟左右,然后由于页面刷新它隐藏了..

$(".fancybutton").click(function (event) {
    event.preventDefault();  // If this does not work also try "event.stopPropagation();"
    $.fancybox({
        'type': 'inline',
        'content': '#data'
    });
});

我希望这对你有用,因为我已经回答了我从你的问题中理解的内容。让我知道这是否适合您。干杯。

【讨论】:

  • 我的问题是我可以混合数据变化和fancybox。我以前试过..
  • 老板。你的问题不清楚。这是其他程序员没有发表任何评论的主要原因。请尽量让自己更清楚一点,或者请为您的问题创建一个小提琴,这将有助于我们更好地了解您。
  • fancybox 出现,但标签文本没有改变 - 每次点击它仍然是“标签”。我猜回邮不会发生。我尝试了您建议我的第二个选项,并且回发发生了,但fancybox 没有出现,虽然一秒钟都没有出现。
  • 我也使用了这段代码,因为我也陷入了类似的困境。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多