簡體   English   中英

轉發器整頁回發中的下拉菜單

[英]Dropdowns in repeater full page postback

我遇到了一個問題,我很難解釋。

我正在努力改進現有的解決方案,而且我看到了我沒想到的下拉行為。 看起來他們總是做一整頁回發,即使他們被設置為異步。 他們在轉發器內。

這是我的更新面板中的轉發器。

 <asp:UpdatePanel runat="server" ID="upnlPartSelector" ChildrenAsTriggers="true" UpdateMode="Always" Visible="false">
<ContentTemplate>
    <div class="product-page">
        <div class="row">

            <asp:Repeater runat="server" ID="rptFilterCategories" OnItemDataBound="RptCategories_ItemDataBound" OnItemCreated="rptFilterCategories_ItemCreated">
                <HeaderTemplate>
                    <div class="filter-selection">
                </HeaderTemplate>
                <ItemTemplate>
                    <div class="title">
                        <%# Eval("CategoryName") %>
                    </div>
                    <div class="select">
                        <asp:DropDownList CssClass="form-control" runat="server" ID="ddlFilterItems" AutoPostBack="true" DataTextField="Display" DataValueField="Value" OnSelectedIndexChanged="ddlFilterItems_SelectedIndexChanged"/>
                    </div>
                </ItemTemplate>
                <FooterTemplate>
                    </div>
                </FooterTemplate>
            </asp:Repeater>
    </div>
</ContentTemplate>

我將下拉列表作為轉發器OnItemCreated方法的異步觸發器注冊。

 protected void rptFilterCategories_ItemCreated(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            var control = e.Item.FindControl("ddlFilterItems");
            ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(control);
        }
    }

然而他們仍在進行整頁回發,而不僅僅是更新面板。 我是否需要將轉發器設置為更新面板的觸發器? 或者具體說說Async Postback Control連接哪個更新面板?

您是否嘗試在html中添加觸發器以查看是否使其正常工作? 並暫時注釋掉后面代碼中的RegisterAsyncPostBackControl

</ContentTemplate>
<Triggers> 
    <asp:AsyncPostBackTrigger ControlID="ddlFilterItems" EventName="SelectedIndexChanged" /> 
</Triggers> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM