单击单选按钮时,我试图填充一个下拉列表。第一次没问题,但是第二次我去了最初的那是行不通的。这意味着Quote可以在加载时起作用,apply可以在单击时起作用,但是在返回引用时不会刷新ddl。有任何想法吗?请保持温柔,对此不陌生。

<asp:UpdatePanel ID="updatePanelToggle" runat="server" UpdateMode="always">
    <ContentTemplate>
        <asp:RadioButton ID="radioOn" Checked="true" AutoPostBack="true" runat="server" GroupName="toggle" Text="Quote" OnCheckedChanged="radioOn_CheckedChanged" />
        <asp:RadioButton ID="radioOff" AutoPostBack="true" runat="server" GroupName="toggle" Text="Apply" OnCheckedChanged="radioOff_CheckedChanged" />

        <asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="radioOn" />
        <asp:AsyncPostBackTrigger ControlID="radioOff" />

    </Triggers>

</asp:UpdatePanel>


后面的代码

protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                loadQuoteURLs();
            }
        }

        protected void radioOn_CheckedChanged(object sender, EventArgs e)
        {
                loadQuoteURLs();
        }

        protected void radioOff_CheckedChanged(object sender, EventArgs e)
        {
            loadApplyURLs();
        }

        protected void loadApplyURLs()
        {

            DropDownList1.Items.Clear();
            DropDownList1.Items.Add("Apply");

        }

        protected void loadQuoteURLs()
        {

            DropDownList1.Items.Clear();
            DropDownList1.Items.Add("Quote");

        }

最佳答案

我已经尝试过您的代码并且工作正常。无论如何,在这种情况下,您无需指定UpdateMode="always"并设置AsyncPostBackTriggers

<asp:UpdatePanel ID="updatePanelToggle" runat="server">
    <ContentTemplate>
        <asp:RadioButton ID="radioOn" Checked="true" AutoPostBack="true" runat="server" GroupName="toggle"
            Text="Quote" OnCheckedChanged="radioOn_CheckedChanged" />
        <asp:RadioButton ID="radioOff" AutoPostBack="true" runat="server" GroupName="toggle"
            Text="Apply" OnCheckedChanged="radioOff_CheckedChanged" />
        <asp:DropDownList ID="DropDownList1" runat="server">
        </asp:DropDownList>
    </ContentTemplate>
</asp:UpdatePanel>

09-17 01:50