写treeview遇到问题,请高手解决!
zsww 2003-10-30 01:46:05 “/Bbs”应用程序中的服务器错误。
--------------------------------------------------------------------------------
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误:
行 37:
行 38: TreeView1.Nodes.Clear();
行 39: DataRow [] drs = conf.ds.Tables["tab_BigClass"].Select("");
行 40: foreach( DataRow r in drs )
行 41: {
源文件: f:\bbs\tree.aspx.cs 行: 39
---------------------------------tree.aspx.cs----------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Microsoft.Web.UI.WebControls;
namespace Bbs
{
/// <summary>
/// tree1 的摘要说明。
/// </summary>
public class tree : System.Web.UI.Page
{
public Microsoft.Web.UI.WebControls.TreeView TreeView1;
public config conf = new config();
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
conf.GetDs("select * from Big_Class","tab_BigClass");
conf.GetDs("select * from Small_Class","tab_SmallClass");
CreateNode();
}
}
public void CreateNode()
{
TreeView1.Nodes.Clear();
DataRow [] drs = conf.ds.Tables["tab_BigClass"].Select("");
foreach( DataRow r in drs )
{
TreeNode rootnode = new TreeNode();
rootnode.Text = r["BigClass_Name"].ToString();
rootnode.NodeData = r["BigClass_ID"].ToString();
// rootnode.NavigateUrl = "MainForm.aspx"+"?BID="+ r["bigclass_ID"].ToString() +"&SID=-1";
rootnode.Target = "mainFrame";
// rootnode.Expanded=true;
TreeView1.Nodes.Add(rootnode);
string parentid=r["BigClass_ID"].ToString();
CreateNode1(rootnode,parentid);
}
}
private void CreateNode1(TreeNode parentnode,string parentid)
{
DataRow [] drsr = conf.ds.Tables["tab_SmallClass"].Select("BigClass_ID = "+parentid);
foreach( DataRow rw in drsr )
{
TreeNode tempnode = new TreeNode();
tempnode.Text = rw["SmallClass_Name"].ToString();
tempnode.NodeData = rw["SmallClass_ID"].ToString();
tempnode.NavigateUrl = "MainForm.aspx"+"?BID="+ rw["BigClass_ID"].ToString() +"&SID="+ rw["SmallClass_ID"].ToString();
tempnode.Target = "mainFrame";
parentnode.Nodes.Add(tempnode);
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
---------------------------------config.cs部分---------------------------------
/// <summary>
/// 执行一个Sql语句返回一个DataSet对象
/// </summary>
/// <param name="str_Sql">sql语句</param>
/// <param name="str_Table">内存表名称</param>
/// <returns>DataSet对象</returns>
namespace Bbs
{
public class config:Page
{
public SqlConnection myConn;
public SqlCommand myCommand;
public SqlDataAdapter myAda;
public SqlDataReader myReader;
public DataSet ds;
public DataTable dt;
public DataRow dr;
public string FileName;
public int FileSize;
.......
public DataSet GetDs(string str_Sql,string str_Table)
{
open();
myAda = new SqlDataAdapter(str_Sql,myConn);
ds = new DataSet();
myAda.Fill(ds,str_Table);
myConn.Close();
return ds;
}
}
}
编译通过,但是在浏览器中查看就出现错误,请高手解决!