更新:关闭,发现虽然我在调试时遇到了这个错误,但实际上它已被添加到Controls集合中,但仍然很烦人,我不能像往常那样看到它。
此代码以前工作正常,但由于某种原因它已经开始失败。 只有当我尝试将UserControl添加到“flightResult”时它才会失败。 如果我使用.NET控件,它可以正常工作。
我尝试过的事情。
最近唯一的变化就是我安装了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 :(得分: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);
}