在另一个aspx表单中访问站点主文本框值的问题

时间:2011-06-14 22:49:48

标签: c# .net asp.net

我尝试从我的站点主机从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();
} 

}

2 个答案:

答案 0 :(得分:3)

您不应该创建SiteMaster()的新实例 因此,请从SiteMaster sm = new SiteMaster();

中删除行ProductSearch

Page_Load

中试试这个
SiteMaster sm = Page.Master as SiteMaster;

if(sm!=null)
{
   if (sm.getSearch() != null)
   {
       search(sm.getSearch());
   }   
}

答案 1 :(得分:2)

SiteMaster MasterPage = (SiteMaster)Page.Master;

如果您已正确设置母版页,则必须访问母版页。