日期:2014-05-18  浏览次数:20541 次

调用另一页面中的方法出错,高手帮忙!!
我想在B页面中的Button1_Click事件中调用A页面中的方法fan()

A页面的命名空间work.shili中有:
public class fanli : System.Web.UI.Page
{
  public void fan() //显示某案卷对应的卷内目录
  {
  Labelcz.Text = "3";
  }
}
B页面中:
using work.shili;//然后在其类WebForm1中的Button1_Click事件中调用A页面的方法,代码如下:
public class WebForm1 : System.Web.UI.Page
{
  protected System.Web.UI.WebControls.Button Button1;
  private void Page_Load(object sender, System.EventArgs e)
  {
  // 在此处放置用户代码以初始化页面
  }
  private void Button1_Click(object sender, System.EventArgs e)
  {
  fanli d=new fanli();
  d.fan();
  }
}

出错:A页面中Labelcz.Text = "3";
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

B页面中没有Labelcz,
添加了整个项目的.dll文件后,也还是出错,而且这句fanli d=new fanli();也出错:已在多处定义......

到绝路了,请高手帮忙!



------解决方案--------------------
为什么要这么写呢?
如果fan()是通用方法可以写到静太类里边。

Labelcz是你A页里边的空件是把,没记错的话应该是受保护的,无论你怎么
fanli d=new fanli(); 
d.fan(); 

你在B里边都是访问不到Labelcz的。
除非你让B页继承A。

但是这样逻辑会很乱套。


------解决方案--------------------
直接使用用户控件不得了