下面是不是写错了?
dataGrid2.DataBind();----->dataGrid1.DataBind();

解决方案 »

  1.   

    1,检查Session的MachineID名称是不是匹配,注意大小写。
    2、跟踪一些Session["MachineID"]的值
    从你介绍的情况和代码看,Session["MachineId"]是存在的,只是它的值是不是正确,因为从你的代码中,如果TextBox1.Text=" ";那么第二个条件将被满足,建议类似的情况下,应该Trim一下。
      

  2.   

    1.名称大小写没有问题,我从java开始就一直很注意大小写的
    2.既然Session["MachineID"]存在,为什么传不过去了?
    3.我又看了一下代码,特别比较了一下Session["Department"]与Session["MachineID"]
      的不同,发觉前者是在先确定性赋值后传到另外一个叶面的,如下代码
      if (dr.Read()) {Session["Department"]=dr["部门"];}//从数据库读出的数据
      而后者则是从界面输入后,把输入的数据(不确定的)传到另外一个叶面,我想
      原因是不是Session["MachinID"]的值根本没有穿过去或者他根本就没有值,不因该用
      这种方式?
    4.在水母清华里,我找到了一个叶面之间传递参数的帖子?用的是
      Server.Transfer()方法,可是也没有试成功
    真的请教一下各位这方面有经验的大虾,是我自己没有配好,还是根本不应该用这种方法?
    具体该怎么做?项目急3xfirst
      

  3.   

    是否因为MachinID是数值型字段,你把它tostring后,无法从数据库里面找到相应的ID,故无任何显示呢?
      

  4.   

    if(TextBox1.Text=="")Response.Redirect("showall.aspx");
    else if(TextBox1.Text!=""){Session["MachineID"]=TextBox1.Text.Trim();
    Response.Redirect("showpart1.aspx");}
    试试.
      

  5.   

    1,我觉的Session["MachinID"]可能没有值(为null),用if(Session["xxx"]==null)Response.Write("xxcv");测一下就知道。
    2,要么Session["MachinID"]里面是空格,这种情况应该按niwalker()的建议用Trim预处理一下。
    3,建议
    使用Session变量之前最好使用if(Session["xxx"]==null)判断一下是否为空。
    Session传参数可以跨越多个页面,使用方面但安全性不好
    使用Server.Transfer(),适用于两个页面之间数据的传递(而且是一个到另一个页面)
    它是通过类,建议在msdn上找一下就清楚怎么用了
      

  6.   

    设断点看一下if(TextBox1.Text!=""){Session["MachineID"]=TextBox1.Text;
    Response.Redirect("showpart1.aspx");}
    中Session["MachineID"]的值
      

  7.   

    我重新写了一遍大部分的代码,也参照各位大侠的意见比如Trim(),断点,开关语句,
    最关键是删除了一条指向后台编码的语句(在showpart.aspx文件里)后调试成功
    感谢诸位侠客给我的建议,特别是教我处理问题的方法,感激不尽,谢
    删除的语句如右:<%@ Page language="c#" Codebehind="showpart1.aspx.cs"AutoEventWireup="false" Inherits="SRMS.showpart1" %>
    如果不删,showpart.aspx界面就空白,可是这和后台编码有神么关系?
    这个问题在我的vs.net里已经出现2次了,可是不太明白,我一般都是在<html>里用<script>
    写c#,有时也用一下后台码,可是就有些问题,诸位有没有这方面的经历?