2017-01-29 7 views
0

から特別な値に設定します。WebフォームプロジェクトはVisual StudioでMasterページがあります。また、私が持っているAdd.aspxTextBoxテキストをMater Pageクラス

<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 objectthis.surname.Text = value;を指します。私はどこか間違っていますか?私が正しく、TextBoxsurenameだけAdd.aspxに存在するunderstant場合Mabye私はPage_Afterloadかなど

答えて

0

のようないくつかの機能を使用する必要があります。その場合、Add.aspx以外のどこからでもメソッドSetSurname()を呼び出すことはできません。コントロールsurenameが現在の表示ページに存在するという保証がないためです。 また、コード内の別の場所で使用しない限り、Add AddForm = new Add();という行は無意味です。 SetSurname()を使用する場合は、Page_Load()からAdd.aspxに変更する必要があります。

もし私がwohleの事を間違っているなら、私に通知してください。

関連する問題