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

vs2005 C# “当前上下文中不存在名称xxxxx”的问题
后台代码:
  private void Binderdepartment()  
  {
  SqlConnection con = new SqlConnectio(ConfigurationManager.ConnectionStrings["连接字符串"].ConnectionString);
  SqlDataAdapter adq = new SqlDataAdapter("select * from ....", con);
  DataSet dataset = new DataSet();
  adq.Fill(dataset, "department");
  dp.DataSource = dataset;
  dp.DataBind();
  con.Close();
  }
然后调用Binderdepartment() 。

前台:将后台取到的值赋给前台的一个datalist 。DataList ID="dp" runat="server" .....

问题来了:我按下F5或者“F5+ctrl”进行测试的时候,就会报错:“当前上下文中不存在名称dp”,但是我使用“在浏览器中查看”的时候却能正常打开页面,所有功能正常!原本我以为是datalist的id前后台名称不一样,都改成“dp”以后,问题依旧存在。我将以上的后台代码注释掉,整个网站又可以正常测试了,估计网站其他部分的代码没有问题,问题就出在上面的那些代码了。但是把以上代码单独放在一个新建的网页项目里面,却又正常,能测试,能直接在浏览器中查看,说明这些代码能用。后来我以为是机子的问题,又换了一台机子试试,但还是出现老问题。测试检查的结果很矛盾,我都没有头绪了。在这里就想请教路过的各位高手了,究竟是哪里出了问题呢?

------解决方案--------------------
调试跟踪一下应该可以找到哪出错的。
楼主是不是给控件改过名字,看看前台的aspx文件和后台的aspx.designer.cs是否与后台的aspx.cs文件的控件名一致,是否都为dp
------解决方案--------------------

楼主是不是给控件改过名字,看看前台的aspx文件和后台的aspx.designer.cs是否与后台的aspx.cs文件的控件名一致,是否都为dp