我在我网站的 2 个页面上使用的用户控件中有一个更新面板两个页面都使用相同的 MasterPage,ScriptManger 在 MasterPage 中声明。两个页面都以相同的方式调用 UC:
<uc:SearchCube runat="server" ID="searchCube" />
在更新面板中,我有许多单选按钮,它们在更改时会生成一个服务器端事件,该事件填充更新面板中的下拉菜单并更新面板
protected void SearchCategoryChanged(object sender, EventArgs e)
{
FillDropdowns();
SearchOptions.Update();
}
更新面板设置如下:
<asp:UpdatePanel ID="SearchOptions" runat="server" UpdateMode="Conditional"
hildrenAsTriggers="true"/>
每个 RadioButton 的设置如下:
<asp:RadioButton ID="RadioButton1" GroupName="SearchCategory" runat="server"
AutoPostBack="true" OnCheckedChanged="SearchCategoryChanged" Text="Text"/>
我AsyncPostBackTrigger
在每个单选按钮控制器上也有一个
我遇到的问题是,在我调用该Update()
函数的一个页面上,面板被更新并被Page_Load
触发,这导致 UC 刷新并重新加载 UC 的默认设置,我可以在 DEBUG 模式下看到工作页面Update()
上没有生成的默认设置Page_Load
。
谁能向我解释为什么会这样?