代码之家  ›  专栏  ›  技术社区  ›  Ranhiru Jude Cooray

jQuery选择器和DataPager不能共存!(ASP.NET)

  •  0
  • Ranhiru Jude Cooray  · 技术社区  · 14 年前

    我使用的是带有MS SQL数据库的ASP.NET ListView。我使用列表视图来显示信息,在列表视图中,有一个超链接,它打开jQuery模式对话框中特定记录的编辑窗口。

    <asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1">
    
        <LayoutTemplate>
        <div id="itemPlaceholder" runat="server"> </div>
        </LayoutTemplate>
        <ItemTemplate>
        <!--More Items -->
        <a name="Link" href="EditItem.aspx?id=<%# Eval("articleid")%>">Edit</a> 
        <!--More Items -->     
        </ItemTemplate>
    
        </asp:ListView>
        </div>
    
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:myConnectionString %>" 
            SelectCommand="SQL-SELECT-STATEMENT">
        </asp:SqlDataSource>
    
        <div>
    

    jQuery的工作原理是获取每个名为“link”的项的链接,并将其与对话框相关联。

    <script type="text/javascript">
    
    
        $(document).ready(function() {
        $("a[name=Link]").each(function() {    
    
    
                var $link = $(this);
                var $dialog = $('<div></div>')
                    .load($link.attr('href'))
                    .dialog({
                        autoOpen: false,
                        title: "Edit Article",
                        width: 500,
                        height: 550
                    });
    
                $link.click(function() {
                    $dialog.dialog('open');
    
                    return false;
                });
            });
        });
    </script>
    

    <asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1" PageSize="5">
        <Fields>
        <asp:NextPreviousPagerField />
        <asp:NumericPagerField />
        </Fields>
    </asp:DataPager>
    

    但是现在DataPager的控件不起作用了!我无法返回、前进或单击页码,因为它将在没有对话框的情况下打开ListView中第一个数据绑定项的href(就像普通页面一样)。但是,如果我删除jQuery代码,页面将正常工作,但我无法获得整洁的模式对话框来进行编辑:(

    你知道为什么它们不能共存吗?提前很多时间:)

    更新:不起作用的是他们不能和平共处。如果我删除jQuery代码,DataPager可以正常工作,但是我将丢失用于编辑的模式对话框。如果我把jQuery代码放回去,模态对话框可以正常工作,但是DataPager不能:(

    1 回复  |  直到 14 年前
        1
  •  0
  •   VinayC    14 年前

    我猜链接选择器可能正在选择数据寻呼机链接。 $("a[name='Link']").each(..

    或者,为什么不使用id或类选择器呢。例如:

    <a id="editLink" ...
    

       $('a#editLink;).each(...