gpt4 book ai didi

c# - 用户控件内的 asp.net 更新面板不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 14:09:19 25 4
gpt4 key购买 nike

我正在开发一个 asp.net/C# 网络应用程序,

在主页面中:

我在更新面板中有一个 place Holder

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="LinkButton1" EventName="Click"/>
</Triggers>
<ContentTemplate>
<asp:PlaceHolder ID="PlaceHolder1" runat="server">
</asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>

当我点击“LinkBut​​ton1”时,我使用它来动态加载网络用户控件

<asp:LinkButton ID="LinkButton1" runat="server" OnClick="Link1_Click">Load</asp:LinkButton></li>

后面的代码:

protected void Link1_Click(object sender, EventArgs e)
{
PlaceHolder1.Controls.Clear();
(MyControl) CC = (MyControl)LoadControl("Controls/MyControl.ascx");
PlaceHolder1.Controls.Add(CC);
}

在我正在加载的控件中,我放置了一个由控件中的复选框触发的更新面板。

在我的控件中:

<asp:UpdatePanel ID="MapRefresh" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="CheckBox1" EventName="CheckedChanged" />
</Triggers>
<ContentTemplate>
//Here I place the things I want to update
</ContentTemplate>
</asp:UpdatePanel>

复选框在更新面板外声明

<asp:CheckBox ID="CheckBox1" Checked="true" Text="View" runat="server" AutoPostBack="True" oncheckedchanged="CheckBox1_CheckedChanged" />

后面的代码:

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
//Do the update on the controls that are in the update panel
}

问题:

在主页上,当我单击 LinkBut​​ton1 时控件正确加载,一切正常。但是当我单击控件的复选框时,它不会像我希望的那样更新内部更新面板。该控件从主页上消失了。

非常感谢任何帮助。提前致谢,我希望我是清楚的

最佳答案

您需要在页面加载事件中创建用户控件并将其隐藏。建议您在那里创建控件并使用链接按钮使其可见并设置其他属性。

   protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
//-- Create your controls here
}

关于c# - 用户控件内的 asp.net 更新面板不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8317805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com