问题将我的UserControl添加到HtmlGenericControl

时间:2012-12-02 17:26:45

标签: c# .net exception user-controls htmlgenericcontrol

更新:关闭,发现虽然我在调试时遇到了这个错误,但实际上它已被添加到Controls集合中,但仍然很烦人,我不能像往常那样看到它。

此代码以前工作正常,但由于某种原因它已经开始失败。 只有当我尝试将UserControl添加到“flightResult”时它才会失败。 如果我使用.NET控件,它可以正常工作。

我尝试过的事情。

  1. 使用静态文本添加另一个简单的UserControl,但它给了我samme错误。
  2. 清理并重建我的解决方案。
  3. 将flightResult更改为“new Panel()”,但同样的问题。
  4. 在网上搜索遇到此问题的人,我找到了一个帖子,但没有解决方案。
  5. 最近唯一的变化就是我安装了IIS 7.0 - 这与它有什么关系吗?

    我的代码:

     var flightResult = new HtmlGenericControl("div");
    
     var flightProduct = (FlightProduct) LoadControl("~/UserControls/FlightProduct.ascx");
    
     //finalResult.InnerText = ""
    
    finalResult.Controls.Add(flightProduct);
    
    //finalResult.InnerText = {InnerText = '((System.Web.UI.HtmlControls.HtmlContainerControl)(finalResult)).InnerText' threw an exception of type 'System.Web.HttpException'}
    

1 个答案:

答案 0 :(得分:0)

它对我有用,试试这个。

用户控制标记

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Control1.ascx.cs" Inherits="Control" %>
<asp:Label ID="lblTest" runat="server" Text="This is a test"></asp:Label>    

Default.aspx页码背后

const string path = "~/Control1.ascx";
HtmlGenericControl div;
 protected void Page_Load(object sender, EventArgs e){

   div = new HtmlGenericControl("div");
    div.Attributes.Add("runat", "server");
    var userControl = LoadControl(path);
  if (userControl != null)
      div.Controls.Add(userControl);
  this.form1.Controls.Add(div);

}