如何从asp.net代码后面打开Colorbox jquery插件模式窗口?

时间:2012-10-12 22:41:48

标签: c# asp.net listview colorbox code-behind

我有一个asp.net listview控件,其asp:button中有一个itemtemplate。我想在点击它时打开Colorbox并满足某些条件(这就是我在调用onclientclick时遇到问题)并且Colorbox将显示iframe。 我尝试了许多不同的方式并且搜索了很多,但是没有一个答案对我有用,因为所有这些都是在onclick上建议onclientclick事件。

我正在使用如下代码在Colorbox模式对话框中打开href链接:

    <script>
                $(document).ready(function () {
                    $(".ajax").colorbox();
                    $(".iframe").colorbox({ iframe: true, 
width: "50%", height: "500px" });
                });
            </script>

但我无法在asp.net listview的itemcommand事件中使用代码隐藏工作。

你能建议一个解决方案吗?

2 个答案:

答案 0 :(得分:2)

您可以在页面上创建隐藏字段并将其设置在代码隐藏中,然后在$(document).ready()上进行检查。

例如:

页     

<script>
    $(document).ready(function () {
        $(".ajax").colorbox();
        $(".iframe").colorbox({ iframe: true, width: "50%", height: "500px" });
        if ($('.showColorbox').val()) {
            // show the colorbox
        }
    });
</script>

代码隐藏:

// in click event code
showColorbox.Value = true;

答案 1 :(得分:1)

这是我最终的结果:

<asp:Button ID="btnViewDetails" runat="server" Text="Details" OnClientClick="
                OpenCBox();" />
                <script type="text/javascript">
                    function OpenCBox() {
                        $.colorbox({ href: '<%# Eval("EditLink") %>', iframe: true, width: "50%", height: "500px", 
                        transition: "elastic", onClosed: function () { parent.location.reload(true); } });    
                        return true;                   
                    }
                </script>