Проблема добавления моего UserControl в HtmlGenericControl

ОБНОВЛЕНИЕ: В заключение выяснилось, что, хотя я получаю эту ошибку при отладке, она фактически добавляется в коллекцию Controls, но все равно раздражает, что я не вижу ее, как обычно.

Этот код работал нормально, но по какой-то причине он начал давать сбои. Только когда я пытаюсь добавить UserControl в "flightResult", он не работает. Если я использую элементы управления.NET, это работает просто отлично.

Вещи, которые я попробовал.

  1. Добавление еще одного простого UserControl со статическим текстом, но это дало мне ошибку samme.
  2. Очистка и восстановление моего решения.
  3. Изменение flightResult на "new 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'}

1 ответ

Решение

Это работает для меня, попробуйте с этим.

Пользовательский контроль MarkUp

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

}
Другие вопросы по тегам