我在用戶控件表單上包含一個字段'x',它包含在aspx頁面和使用SharePoint母版頁的頁面中。我試圖找到我的代碼中aspx頁上的字段x,但它引發「Object ref not set」錯誤。我試過以下,但沒有工作,查找用戶控件表單上的字段
((TextBox)Page.Master.FindControl("PlaceHolderMain").FindControl("Experience").FindControl("x")).Text
((TextBox)this.FindControl("x")).Text
((TextBox)Page.Master.FindControl("PlaceHolderMain").FindControl("x")).Text
我可以找到在網頁源領域,
<input name="ctl00$PlaceHolderMain$ctl00$x" type="text" value="3" id="ctl00_PlaceHolderMain_ctl00_x" class="textbox" />
更新: -
以前我是將用戶控制程序的負載事件的aspx頁面,
UserControl uc = (UserControl)Page.LoadControl("Experience.ascx");
experineceForm.Controls.Add(uc);
但是通過查看網頁源我不得不懷疑,並認爲使用下面的代碼,將其添加在設計時,
<%@ Register TagPrefix="uc" TagName="Experience" Src="Experience.ascx" %>
<div id="experineceForm" runat="server">
<uc:experience id="idExperienceForm" runat="server"/>
</div>
這樣做後,我能找到控制與下面的代碼,
((TextBox)Page.Master.FindControl("PlaceHolderMain").FindControl("idExperienceForm").FindControl("txtEmployeeComments")).Text
@Rishi ....你什麼時候看到你做的(TextBox)Page.Master.FindControl(「PlaceHolderMain」)?這是否產生控制對象? – MikeTWebb
@MikeTWebb,我在哪裏可以看到?我正在網頁上測試這個。 – Rishi