访问另一个aspx表单中的网站主文本框值时出现问题

本文关键字:问题 文本 aspx 另一个 表单 网站 访问 | 更新日期: 2023-09-27 17:59:21

我试图从我的网站母版访问aspx页面中的文本框值,但似乎不起作用,并且我收到了"System.NullReferenceException:对象引用未设置为对象实例"错误。感谢您的帮助。谢谢

在我的站点主代码中,我正在使用get访问器:问题是,如果我为get访问器返回值硬编码我的值,我将不会遇到问题

public partial class SiteMaster : System.Web.UI.MasterPage
{ 
 public string Text
  { 
  get
  {
  return TextBox1.Text
  }
 }
}   

aspx页面,它试图从网站主获取价值:

public partial class ProductSearch : System.Web.UI.Page
 {  
SiteMaster sm = new SiteMaster();
CommerceEntities db = new CommerceEntities();
protected void Page_Load(object sender, EventArgs e)
 {       
try
 {           
if (sm.getSearch() != null)
     {
       search(sm.getSearch());
     }
  }          
catch (Exception ex)
{
Label1.Text = ex.ToString();
} 

}

访问另一个aspx表单中的网站主文本框值时出现问题

您不应该创建SiteMaster()的新实例因此,从ProductSearch类中删除SiteMaster sm = new SiteMaster();

在您的Page_Load 中尝试此操作

SiteMaster sm = Page.Master as SiteMaster;
if(sm!=null)
{
   if (sm.getSearch() != null)
   {
       search(sm.getSearch());
   }   
}
SiteMaster MasterPage = (SiteMaster)Page.Master;

这就是您访问母版页的方式,前提是您已经正确设置了母版页。