当前定义了一个public partial class ConfigureControl : System.Web.UI.UserControl{..........}的usercontrol另外一个页面假设要在运行时实例化该usercontrol应该如何做..我用了两种方法..一个是使用ASP命名空间
aspx页面当中:
ASP.configureControl control1 = new ASP.configureControl ();
//修改他的的公共属性
control1.property1 = "test";Control control = (Control)control1;
this.Controls.AddAt(0, control);
该方法在开发的时候没有任何问题..可以顺利编译..但是在发布网站的时候.报错. 缺少引用ASP.configureControl 不解..第二种方法..直接使用ConfigureControl control1 = new ConfigureControl ();
//修改他的的公共属性
control1.property1 = "test";Control control = (Control)control1;
this.Controls.AddAt(0, control);该方法在编译和发布的时候都没有问题..但是奇怪的是在访问页面的时候报错.."Object reference not set to an instance of an object"
说我没有实例话对象..完全就没有折了...我知道windowsForm下面可以直接将usercontrol实例化,并且使用form的Controls.Add方法..但是webform下面就出现了刚才的问题...
不知道各位是怎么解决这个问题..
希望能够在cs文件当中用代码的方式实例话usercontrol.还有一个问题..关于url rewrite的问题.
使用HttpContext.Current.RewritePath(newurl);也是.在开发的时候重写url地址没有任何问题.但是一旦部署到仅仅安装了IIS和.net Framework2.0的机器上就会出现405没有权限的错误...

解决方案 »

  1.   

    ConfigureControl ctl = (ConfigureControl)Page.LoadControl("~/Controls/ConfigureControl.ascx");什么假设的你的ConfigureControl.ascx文件是在根目录的Controls下。调用的时候保证路径的正确性
      

  2.   

    UC 无法直接实例化,请使用 Page.LoadControl 加载之ConfigureControl ctl = Page.LoadControl("~/ConfigureControl.ascx") as ConfigureControl; // 假设 ConfigureControl.ascx 在根目录
      

  3.   

    同意楼上的使用Page.LoadControl加载用户控件
      

  4.   

    又是app_code惹出来的毛病,解决方案http://www.cnblogs.com/myzerg/archive/2007/01/05/613009.html
      

  5.   

    ConfigureControl ctl = (ConfigureControl)Page.LoadControl("ConfigureControl.ascx");ASCX要动态添加 是不能NEW的
      

  6.   

    不要实例化 用 LoadControl
      

  7.   

    ConfigureControl ctl = (ConfigureControl)Page.LoadControl("ConfigureControl.ascx");原理性错误,不要使用new
      

  8.   

    问题解决..还有一个问题..关于url rewrite的问题.
    使用HttpContext.Current.RewritePath(newurl);也是.在开发的时候重写url地址没有任何问题.但是一旦部署到仅仅安装了IIS和.net Framework2.0的机器上就会出现405没有权限的错误...
    重写后缀为html的时候是出现405错误.无权限..
    如果改成shtml则为找不到文件了...
    谁知道这是怎么回事?
      

  9.   

    第二个也解决了..原来把iis的shtml的isapi使用aspnet_isapi解析,且把验证文件存在去掉就行了..
    晕..html在iis默认没有..对iis5.5添加isapi也添加不上..难怪一直错误..多谢各位