【发布时间】:2013-10-16 15:12:52
【问题描述】:
我有一个 Product.aspx 页面,其中有一个 asp:panel。我在其中动态添加一个UserControl:
protected void Page_Load(object sender, EventArgs e)
{
UserControl userControl = (UserControl)this.LoadControl(Programs/Test/Test.ascx);
this.pnlLayoutDetails.Controls.Add(userControl);
LayoutPanels = pnlLayoutDetails.Controls[1];
}
我在 Product.aspx 页面中有一个按钮。我从这个按钮的UserControl onClick 中隐藏了一些Panels。代码正在正确执行,但是当我看到输出时它没有任何效果(所有控件都可见)。
button_click的代码
var pnlLayout = (Panel)LayoutPanels.FindControl("pnlLayout" + layout.LayoutID.ToString());
if (pnlLayout != null)
pnlLayout.Visible = false;
更新: 如果我从 aspx 页面中删除 ajax 面板,那么它工作正常。但是使用 ajax 面板会产生问题。我无法弄清楚。请建议。
谢谢
【问题讨论】:
-
你有什么理由动态而不是声明地添加 UC 吗?
-
是的,这取决于用户类型,并且针对不同的用户有不同的控件
-
LayoutPanels 里面应该有什么?用户控制?你是直接把控制[1]放在第二个吗?
-
您遇到了什么问题?
-
请确认您是否在 aspx 页面中正确设置了 UpdatePanel.UpdateMode。还要检查您是否在后面的代码中错过了 UpdatePanel.Update()。如果可能,请同时发布您的 aspx 侧代码。
标签: c# asp.net entity-framework user-controls