2012-12-02 5 views
0

업데이트 : 닫으면 디버깅에서 오류가 발생하더라도 실제로 Controls 컬렉션에 추가되지만 여전히 평소와 같이 볼 수 없다는 것을 알게됩니다.내 UserControl을 HtmlGenericControl에 추가 할 때의 문제

이 코드는 제대로 작동하는 데 사용되었지만 어떤 이유로 든 실패하기 시작했습니다. "flightResult"에 UserControl을 추가하려고하면 오류가 발생합니다. .NET 컨트롤을 사용하면 잘 작동합니다.

내가 시도한 것.

  1. 다른 단순한 UserControl을 정적 텍스트와 함께 추가했지만 내게 오류가 발생했습니다.
  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'} 

답변

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

} 

관련 문제