问题描述
|
我试图从网站主站点的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();
}
}
解决方法
您不应该创建
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;
如果您已经正确设置了母版页,那就是您必须访问母版页的方式。