C# 清除动态用户控件容器
如何使动态材质为空或清除viewstate 当用户单击submit时,我想重置容器,使所有文本框都为空 你知道我该怎么解决这个问题吗C# 清除动态用户控件容器,c#,asp.net,C#,Asp.net,如何使动态材质为空或清除viewstate 当用户单击submit时,我想重置容器,使所有文本框都为空 你知道我该怎么解决这个问题吗 private materials[] _dynamicMaterials; // Container for dynamically added UserControl "materials.ascx" protected void Page_PreInit(object sender, EventArgs e) { G
private materials[] _dynamicMaterials; // Container for dynamically added UserControl "materials.ascx"
protected void Page_PreInit(object sender, EventArgs e)
{
GetPostBackControl(Page);
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
if (!this.DesignMode)
{
int count = MySession.Current.UserControlCount;
_dynamicMaterials = new materials[count];
for (int i = 0; i < count; i += 1)
{
Control newcont = LoadControl("materials.ascx");
newcont.ID = "materialControl" + i.ToString();
myPlaceHolder1.Controls.Add(newcont);
_dynamicMaterials[i] = (materials)newcont;
}
}
}
不清楚是否需要跟踪该容器的ViewState,但假设不需要,最简单的解决方案是在容器上将EnableViewState设置为false:
<asp:Panel ID="pnlContent" runat="server" EnableViewState="false">
<!-- your controls here -->
</asp:Panel>
您是否尝试过ViewState.Clear;?ViewState.clear;不起作用。
pnlContent.Controls.OfType<TextBox>().ToList().ForEach(t => t.Text = string.Empty);