我有一個簡單asp.net用戶控制:asp.net用戶控制元素爲空
<%@ Control Language="C#" AutoEventWireup="true"
CodeBehind="QueryDefinitionItem.ascx.cs"
Inherits="xxx.UserControls.QueryDefinitionItem" %>
<link href="../Styles/Site.css" rel="stylesheet" type="text/css" />
<div class="title">
<h1 id="TextField" runat="server"></h1>
</div>
代碼後面:
public partial class QueryDefinitionItem : System.Web.UI.UserControl
{
private string m_text;
protected void Page_Load(object sender, EventArgs e)
{
TextField.InnerText = m_text;
}
public void SetText(string text)
{
m_text = text;
}
}
我使用LoadControl加載編程一個實例:
protected void Page_Load(object sender, EventArgs e)
{
var control = (QueryDefinitionItem)LoadControl(typeof (QueryDefinitionItem),null);
control.SetText("test2");
itemsPanel.Controls.Add(control);}
然後我使用SetText函數來設置文本,並且一旦頁面加載被觸發,我得到一個NullReferenceException,它表示Tex tField爲空...
我無法弄清楚爲什麼。
在什麼時候,你將控制動態? – 2012-01-03 09:34:28
@RichardFriend頁面的頁面加載事件 – 2012-01-03 09:41:08