0

更新:最後に、デバッグ中にそのエラーが発生しても、実際には Controls コレクションに追加されていることがわかりましたが、通常のように表示されないことにまだ悩まされています。

このコードは以前は正常に動作していましたが、何らかの理由で失敗し始めました。UserControl を「flightResult」に追加しようとしたときにのみ失敗します。.NET コントロールを使用すると、問題なく動作します。

私が試したこと。

  1. 別の単純な UserControl を静的テキストで追加しましたが、同じエラーが発生しました。
  2. ソリューションのクリーニングと再構築。
  3. flightResult を「new Panel()」に変更しますが、同じ問題があります。
  4. この問題を抱えている人をウェブで検索したところ、1 つのスレッドが見つかりましたが、解決策はありませんでした。

最近の唯一の変更点は、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'}
4

1 に答える 1

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

}
于 2012-12-02T22:39:00.493 に答える