我想從aspx頁面找到標籤控件。asp.net對象引用未設置錯誤
Label labelmessageupdate;
labelmessageupdate = (System.Web.UI.WebControls.Label)FindControl("updateMessage1");
如果我設置labelmessageupdate.Text ="something"
它返回對象引用異常。
和標籤控制在更新面板內可能是問題所在。
我想從aspx頁面找到標籤控件。asp.net對象引用未設置錯誤
Label labelmessageupdate;
labelmessageupdate = (System.Web.UI.WebControls.Label)FindControl("updateMessage1");
如果我設置labelmessageupdate.Text ="something"
它返回對象引用異常。
和標籤控制在更新面板內可能是問題所在。
只需檢查null。始終檢查空條件,以便它不會最終顯示對象引用錯誤。
if (labelmessageupdate != null)
{
labelmessageupdate.Text ="something"
}
試試這個,和你的控制試圖找到可能是在其他用戶的控制。
要使用
Label updateMessage = FindChildControl<Label>(base.Page, "updateMessage1");
if (updateMessage!=null)
{
updateMessage.Text = "new text";
}
/// <summary>
/// Similar to Control.FindControl, but recurses through child controls.
/// Assumes that startingControl is NOT the control you are searching for.
/// </summary>
public static T FindChildControl<T>(Control startingControl, string id) where T : Control
{
T found = null;
foreach (Control activeControl in startingControl.Controls)
{
found = activeControl as T;
if (found == null || (string.Compare(id, found.ID, true) != 0))
{
found = FindChildControl<T>(activeControl, id);
}
if (found != null)
{
break;
}
}
return found;
}
檢查它已經而非工作 – sam 2011-02-16 11:46:27