下面是MakeDataSource()和他唯一调用的子函数,是在MSDN的例子基础上改的,连注释都没去掉:private DataTable MakeDataSource()
{
// Use the MakeTable function below to create a new table.
DataTable myTable;
myTable = MakeNamesTable();
// Once a table has been created, use the NewRow to create a DataRow.
DataRow myRow;
Mark  = new Mark();
InfoManager im = new InfoManager();
ArrayList allemplist = im.GetAllEmp();
for(int i = 0; i < allemplist.Count; i++)
{
myRow = myTable.NewRow();
// Then add the new row to the collection.
string empid = allemplist[i].ToString();
myRow["ID"] = empid;
myRow["Name"] = im.GetEmpName(empid);
myRow["Depart"] = im.GetDepartName(im.GetDepartIDFromEmpID(empid));
if(im.IsMaster(empid))
myRow["Master"] = "<font color=red>是</font>";
else
myRow["Master"] = "否";

myTable.Rows.Add(myRow);
}
return myTable;
}private DataTable MakeNamesTable()
{
// Create a new DataTable titled 'Names.'
DataTable namesTable = new DataTable("empList"); 
// Add three column objects to the table.
DataColumn idColumn = new  DataColumn();
idColumn.DataType = System.Type.GetType("System.String");
idColumn.ColumnName = "ID";
namesTable.Columns.Add(idColumn); DataColumn NameColumn = new DataColumn();
NameColumn.DataType = System.Type.GetType("System.String");
NameColumn.ColumnName = "Name";
namesTable.Columns.Add(NameColumn);

DataColumn DepartColumn = new DataColumn();
DepartColumn.DataType = System.Type.GetType("System.String");
DepartColumn.ColumnName = "Depart";
namesTable.Columns.Add(DepartColumn); DataColumn masterColumn = new DataColumn();
masterColumn.DataType = System.Type.GetType("System.String");
masterColumn.ColumnName = "Master";
namesTable.Columns.Add(masterColumn); return namesTable;
}

解决方案 »

  1.   

    如果你需要鉴别用户身份可以考虑用formbased authentication来做从cookie中获得当前用户的身份
      

  2.   

    SESSION值可以在服務器上設置超時的﹐預設是20分釧以后清空SESSION,
    我忘了在那里設了﹐你自己找找看啊﹐應該不是.NET的BUG﹐我有用SESSION
    來保存值啊﹐好像沒有這個問題呢
      

  3.   

    我没改变预设啊,我以前也用过SESSION正常啊,但是这次就是不行。在特定条件下才出现的错误也叫BUG
      

  4.   

    为什么不写信给MS,说不定他们会送你一套MSDN光盘 :D
      

  5.   

    每个软件都有不少BUG,微软的软件用的人多,所以发现的BUG也就多,其实这还是件好事,好过有BUG都没有人去发现。
      

  6.   

    不可能是微软BUG
    肯定是程序的BUG
      

  7.   

    我用asp(不是.net)时.不能这样写var=session("")
    一这样写绝对会丢session!!