Мерцание страницы при изменении выпадающего меню

Я использую выпадающий список, чтобы выбрать клиента. Страница дважды мигает при выборе клиента, и я не знаю, как это исправить. Может кто-нибудь, пожалуйста, помогите мне решить проблему?

Мой выпадающий список SelectedIndexChange

protected void ReceiverDropDown_SelectedIndexChanged(object sender, EventArgs e)
{
    if (ReceiverDropDown.SelectedValue != null && ReceiverDropDown.SelectedValue != "0")
    {            
        string benId = ReceiverDropDown.SelectedValue;
        Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "AddDetails('" + benId + "');", true);
    }
}

Код с использованием панели обновления

<td>
    <asp:UpdatePanel runat="server" ID="updTerms" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:DropDownList Width="180px" CssClass="select_quo_one" ID="ReceiverDropDown" 
                runat="server" AutoPostBack="true"
                OnSelectedIndexChanged="ReceiverDropDown_SelectedIndexChanged">
            </asp:DropDownList>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        </ContentTemplate>
    </asp:UpdatePanel>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ReceiverDropDown" />
    </Triggers>
</td>

2 ответа

Чтобы избежать мерцания страницы, вы можете использовать панель обновления. Привязать DropDownList внутри панели обновления.

Разметка:

<asp:UpdatePanel runat="server" ID="updTerms">
    <ContentTemplate>
        <asp:DropDownList ID="ReceiverDropDown" runat="server">
    </asp:DropDownList>
    </ContentTemplate>
    <Trigger>
        <asp:AsyncPostBackTrigger ControlID="ReceiverDropDown"  />
    </Trigger>
</asp:UpdatePanel>

Используйте поле обновления как:

<asp:UpdatePanel ID="updpnlRefresh" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:TextBox ID="txtQuantity"  runat="server" Width="50px"
                     onkeydown="ClearErrorMessages()" onkeypress="return allowNumeric(event)"
                     ontextchanged="txtQuantity_TextChanged"  Text='<%#Eval("Quantity") %>'
                     AutoPostBack = "true"  ondragstart="return false;"
                     ondrop="return false;" />               
    </ContentTemplate>
</asp:UpdatePanel>
Другие вопросы по тегам