Проблема добавления моего UserControl в HtmlGenericControl
ОБНОВЛЕНИЕ: В заключение выяснилось, что, хотя я получаю эту ошибку при отладке, она фактически добавляется в коллекцию Controls, но все равно раздражает, что я не вижу ее, как обычно.
Этот код работал нормально, но по какой-то причине он начал давать сбои. Только когда я пытаюсь добавить UserControl в "flightResult", он не работает. Если я использую элементы управления.NET, это работает просто отлично.
Вещи, которые я попробовал.
- Добавление еще одного простого UserControl со статическим текстом, но это дало мне ошибку samme.
- Очистка и восстановление моего решения.
- Изменение flightResult на "new Panel()", но та же проблема.
- Ища в Интернете людей, у которых была эта проблема, я нашел одну ветку, но без решения.
Единственное изменение, которое было сделано недавно, - это то, что я установил 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);
}