在另一页

时间:2015-08-17 14:54:28

标签: c# asp.net webforms user-controls dynamic-controls

我想在运行时使用另一个页面添加一个aspx页面。 我知道更好的解决方案是使用usercontrol,但为此我必须将我的aspx页面的所有元素放在用户控件和放大器中。这样做几页。 是不是有办法在其他页面中加载aspx页面,如用户控件? 另外,我想让所有字段只读取附加页面的所有字段。有没有办法可以做到这一点?

如果usercontrol是唯一的方法,那么我有一个查询。 当我在我的PageLoad事件中加载我的userControl时,我无法将控件转换为我的usercontrol名称,&因为我无法设置我的控制属性。 我想这样做,但这会在编译时出错

MyControl myUserControl =(MyControl)Page.LoadControl("~/Controls/MessageControl.ascx");

这里MyControl不可用(编译器无法识别)我在MyControl上尝试Ctrl+Dot,编译器也没有添加任何引用,它给出了以下错误

  

类型或命名空间名称' MyControl'找不到(是你吗?   缺少using指令或程序集引用?)

当我这样做时,它有效:

 var ctrl = LoadControl("~/Controls/MessageControl.ascx");
                MyPlaceholder.Controls.Add(ctrl);

但现在没有ctrl,这阻止我设置我的用户控件的属性。

是否重要如果我在Page_Init中实例化控件而不是Page_load?因为在Page_Init中我无法进行数据库调用,所以可能在Page_Init中没有加载assembly / db配置..

0 个答案:

没有答案