2017-01-29 31 views
0

因此,我使用Master頁面在Visual Studio中創建了Web窗體項目。它的Add.aspx我:將TextBox Text設置爲來自Mater頁面的特殊值

<div class="form-group"> 
    <asp:textBox runat="server" ID="surname" CssClass="textbox"></asp:textBox> 
    <label for="surname">Surname</label> 
</div> 

我想設置文本從母版頁本框。在Add.aspx.cs我:

protected void Page_Load(object sender, EventArgs e) 
{ 
} 
public void SetSurname(String value) 
{ 
    this.surname.Text = value; 
} 

而在Site.Master.cs我試圖打電話SetSurname將其設置爲特殊值:

protected void Page_Load(object sender, EventArgs e) 
{ 
    Add AddForm = new Add(); 
    AddForm.SetSurname("Test"); 
} 

但我得到的錯誤:Object reference does not point to an instance of an object指向this.surname.Text = value;。我在哪裏錯了嗎? Mabye我應該使用一些功能,如Page_Afterload或等

回答

0

如果我理解正確,TextBoxsurename只存在於Add.aspx。如果是這樣,您將無法從除Add.aspx以外的任何其他地方調用方法SetSurname(),因爲無法保證控制surename存在於當前顯示頁面中。 此外,行Add AddForm = new Add();是沒有意義的,除非您在代碼中的其他地方使用它。如果您想使用SetSurname(),則應該從Add.aspxPage_Load()開始執行此操作。

如果我發現錯誤,請通知我。

相關問題