2012-12-02 37 views
0

更新:關閉,發現即使我在調試中出現該錯誤,它實際上被添加到控件集合,但仍然煩人,我不能像往常一樣看到它。問題將我的用戶控件添加到HtmlGenericControl

此代碼用於正常工作,但由於某種原因它已開始失敗。 它只是當我嘗試添加一個UserControl到「flightResult」,它失敗了。 如果我使用.NET控件,它工作得很好。

我試過的東西。

  1. 用靜態文本添加另一個簡單的UserControl,但它給了我samme錯誤。
  2. 清潔和重建我的解決方案。
  3. 將flightResult更改爲「新Panel()」,但是同樣的問題。
  4. 在網絡上搜索有此問題的人,我找到了一個線程,但沒有解決方案。

最近唯一的變化就是我安裝了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'} 

回答

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); 

} 
相關問題