单击单选按钮时,我试图填充一个下拉列表。第一次没问题,但是第二次我去了最初的那是行不通的。这意味着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>