我尝试从我的站点主机从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();
}
}
答案 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;
如果您已正确设置母版页,则必须访问母版页。