将 TextBox 文本设置为母版页面中的特殊值 class
Set TextBox Text to special value from Mater Page class
所以我在 Visual Studio 中有带有母版页的 Web 窗体项目。 Add.aspx
我有:
<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
或等
如果我理解正确,TextBox
surename
只存在于 Add.aspx
中。如果是这样,您将无法从除 Add.aspx
之外的任何其他地方调用方法 SetSurname()
,因为不能保证控件 surename
存在于当前显示页面中。
此外,行 Add AddForm = new Add();
是没有意义的,除非您在代码的其他地方使用它。如果你想使用 SetSurname()
,你应该从 Add.aspx
的 Page_Load()
开始。
如果我有任何错误,请通知我。
所以我在 Visual Studio 中有带有母版页的 Web 窗体项目。 Add.aspx
我有:
<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
或等
如果我理解正确,TextBox
surename
只存在于 Add.aspx
中。如果是这样,您将无法从除 Add.aspx
之外的任何其他地方调用方法 SetSurname()
,因为不能保证控件 surename
存在于当前显示页面中。
此外,行 Add AddForm = new Add();
是没有意义的,除非您在代码的其他地方使用它。如果你想使用 SetSurname()
,你应该从 Add.aspx
的 Page_Load()
开始。
如果我有任何错误,请通知我。