2012-03-15 13 views
0

次のコードを使用して、HttpHandlerからユーザーコントロールを動的にロードしています。ASP.NET動的ロードコントロール

StringBuilder sb = new StringBuilder(); 
StringWriter sw = new StringWriter(sb); 
HtmlTextWriter htw = new HtmlTextWriter(sw); 
Page newPage = new Page(); 
newPage.EnableEventValidation = false; 
newPage.LoadControl("~/App_Controls/Site/Player/PlayerProfile2.ascx").RenderControl(htw); 
var content = sb.ToString(); 

PlayerProfileユーザーコントロールが正常にロードされているが、それは私がデバッグモードで実行を試してみました

<div class="content"> 

<div> 
<p>Use the fields below to change your personal details.</p> 
<label for="email">Name:</label> 
<asp:TextBox CssClass="long" ID="txtProfileName" runat="server" /> 
<label for="age">Age:</label> 
<asp:TextBox ID="txtAge" runat="server" class="tiny" /> 
<label for="phone">Phone number:</label> 
<asp:TextBox ID="txtPhone" runat="server" /> 
<label for="gender">Gender:</label> 
<br /> 
<asp:DropDownList ID="ddlGender" /> 
</div> 

txtProfileName.Text = "Test"; 
txtProfileEmail.Text = player.Email; 
var genders = new Dictionary<string, string>(); 
genders.Add("0", "Male"); 
genders.Add("1", "Female"); 
ddlGender.DataSource = genders; 
ddlGender.DataBind(); 

すなわち、ユーザーコントロール内のフィールドの値を設定するコードを実行されるように表示されません私は動的にロードしているユーザーコントロールのPageLoadを打つことになります。

おかげで、

ショーン

答えて