带有转发器的updatepanel中的jquery对话框

时间:2009-12-10 08:43:06

标签: asp.net jquery asp.net-ajax

我有一个带有转发器的更新面板。它显示我从日历中获得的不同事件。

现在它要做的是我点击一个事件,它应该显示在一个jquery对话框中。

现在,如果我不使用更新面板但是它不能正常工作,这种方法很有用。

昨天我一直在寻找它,我看了一些文章,但我不会得到我正在寻找的解决方案..

    $(document).ready(function() {                 
                $("#btnCheck").click(function(evt) {
                    evt.preventDefault();                               

                    $(".dialog").dialog({ height: 700, width: 600, 
closeOnEscape: true, title: 'prev' }).dialog("open");
                });           
            });

                                       

        <div class="calendar_event_div">
            <asp:Repeater ID="repContent" runat="server" OnItemDataBound="repContent_OnItemDataBound" OnItemCommand="repContent_OnItemCommand">
                <ItemTemplate>                        
                    <asp:Literal ID="lbnEvent" runat="server" />
                    <asp:Literal ID="litEventBody" runat="server" />
                </ItemTemplate>
            </asp:Repeater>
        </div>

    </ContentTemplate>
</asp:UpdatePanel>

2 个答案:

答案 0 :(得分:2)

尝试使用ScriptManager.RegisterScriptBlock(...)注册您的javascript,这将导致js在更新面板内被激活。

你也可以使用live命令。 Live会留意选择器中的任何新元素并将事件分配给它。

$("#btnCheck").live("click", function(){
} 

答案 1 :(得分:1)

尝试使用livequery。

$("#btnCheck").live("click", function(evt){

    // your code

});

此方法的工作和行为与jQuery的bind方法非常相似,但有一个重要的区别:绑定“live”事件时,它将绑定到更新面板控件加载的所有当前和未来元素。