0

首先,我阅读了很多关于这个问题的线程并自己解决了这个问题。但是这件事让我很困惑..

代码

<Leads:LeadsListing runat="server" ID="MyLeadsList" List="MyLeads"/>
<Leads:LeadsListing runat="server" ID="NewLeadsList" List="Unassigned" />

两者都获取相同的网格视图,但对它们应用了过滤器(效果很好)

正在调用此脚本Page_Load

ScriptManager.RegisterStartupScript(
    Detailsupdatepanel,
        Detailsupdatepanel.GetType()
            "clickableTrs",

    "$('#" + LeadsGridview.ClientID + "table tr td:first-child a').each(function(){
        var func = Function('event', this.href.substring(\"javascript:\".length) +';
        if(event.stopPropagation){event.stopPropagation();
        } else{
            event.cancelBubble = true;
        }');
        this.href = '#';
        $(this).click(func);
    });

    $('.DarkBackground, .ahover').click(function(){
        $('#" + LeadsGridview.ClientID + " tr td:first-child a').unbind('click');
        $(this).find('a').click();
    });",

true);

我不明白只有第一个 gridview (单击时)如何给我说“递归过多”的错误,而它在第二个 gridview 上工作正常。特别是当两者都调用完全相同的函数并且看起来完全相同时?除了被过滤:(

编辑

这是html渲染的样子,

<asp:GridView ID="LeadsGridview" runat="server" DataKeyNames="id" CssClass="Basic" Width="98%" gridlines="None" allowsorting="True" autogeneratecolumns="False" EnableViewState="true">
    <HeaderStyle CssClass="TableHeaderStyle" />
    <AlternatingRowStyle CssClass="DarkBackground" />
    <RowStyle CssClass="ahover" />
    <Columns>
        <asp:TemplateField HeaderText="Company">
            <ItemTemplate>
                <asp:LinkButton runat="server" CommandName="ShowDetailsClick" CommandArgument='<%# Eval("id") %>'><%# Eval("Company") %></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="City" HeaderText="City" />
        <asp:BoundField DataField="State" HeaderText="State" />
        <asp:TemplateField HeaderText="Created date">
            <ItemTemplate>
                <%# DateTime.Parse(Eval("CreatedDate") as string).ToString("d") %>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="Country" HeaderText="Country" />
        <asp:BoundField DataField="D1_contact__r" HeaderText="Contact" />
        <asp:BoundField DataField="D2_owner__r" HeaderText="Owner" />
        <asp:BoundField DataField="D2_contact__r" HeaderText="Owner" />
    </Columns>                    
</asp:GridView>

为了使整个可点击而不是只是第一个中的链接,我解除了该点击事件的绑定,然后将其重新绑定到 . 我之前在这里遇到了一些问题,因为它是一个 ajax 调用( href = javascript:__doPostBack('ctl00$ctl00$MainArea$MainArea$Cart$ContentItem$ctl00$EditCartButton','')

4

0 回答 0