vs2003转换成vs2005代码的问题
2007-07-17 17:15
295 查看
今天在测试一个项目的时候,是用vs2003开发的,在用vs2005打开的时候,首先进行了代码转化,用原来的net1.1转化为net2.0,项目开发的时候,采用了IEwebControl控件实现收缩菜单,在开发的时候网页中都引用了 Microsoft.Web.UI.WebControls;和System.Web.UI.WebControls; 在net1.1组建下System.Web.UI.WebControls不支持IEWebControl,但是在net2.0的时候System .Web.UI.WebControls支持该控件了,这样的话在网页中就同时引用了该控件,在引用的时候就会导致 TreeNode引用不明确,从而使项目编译不成功,相信好多的朋友都会遇到过此种情况吧,一位大师说在引用的时候写完整他,除了没别的方法,可我写完整了编译还是出错,难道是我写错了吗,我把代码贴出来,跟大家交流交流,愿高手给指点迷津,
注:任意带TreeNode都会提示错误,我任意找了一个文件的代码,整个 Department.ascx.cs文件
namespace OI.UserControls
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Microsoft.Web.UI.WebControls;
using OI.DatabaseOper ;
/// <summary>
/// Department 的摘要说明。
/// </summary>
public partial class Department : System.Web.UI.UserControl
{
private DatabaseConnect dc;
protected void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
dc=new DatabaseConnect ();
if(!this.IsPostBack )
{
this.CreateDataSource ();
DarentmentList.SelectedNodeIndex ="0";
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
}
#endregion
public int DEPT_ID
{
get
{
return Convert.ToInt32 (DarentmentList.GetNodeFromIndex (DarentmentList.SelectedNodeIndex ).ID.Trim () );
}
}
public string DEPT_NAME
{
get
{
return DarentmentList.GetNodeFromIndex (DarentmentList.SelectedNodeIndex ).Text;
}
}
private void CreateDataSource()
{
DarentmentList.Nodes .Clear ();
TreeNode node=new TreeNode ();
node.Text ="开始";
node.ID ="0";
CreateDataSource("0",ref node);
DarentmentList.Nodes .Add (node);
}
private void CreateDataSource (string Parentid, ref TreeNode Pnode)
{
string sql ="SELECT DepartmentId,DepartmentName,IsPublic FROM departments WHERE ParentDepartmentID='"+Parentid+"'";
DataSet ds;
ds=dc.getBinding (sql,"s11");
foreach (DataRow dr in ds.Tables["s11"].Rows )
{
//TreeNode node=new TreeNode ();
Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode();
node.Text =dr["DepartmentName"].ToString ();
node.ID =dr["DepartmentId"].ToString ();
/*
if (dr["menupath"].ToString () !="")
{
node.NavigateUrl=dr["menupath"].ToString ();
node.Target ="main";
}*/
if(Convert.ToBoolean (dr["IsPublic"].ToString ().Trim ()))
{
CreateDataSource(dr["DepartmentId"].ToString (),ref node);
Pnode.Nodes .Add(node);
}
}
}
}
}
注:任意带TreeNode都会提示错误,我任意找了一个文件的代码,整个 Department.ascx.cs文件
namespace OI.UserControls
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Microsoft.Web.UI.WebControls;
using OI.DatabaseOper ;
/// <summary>
/// Department 的摘要说明。
/// </summary>
public partial class Department : System.Web.UI.UserControl
{
private DatabaseConnect dc;
protected void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
dc=new DatabaseConnect ();
if(!this.IsPostBack )
{
this.CreateDataSource ();
DarentmentList.SelectedNodeIndex ="0";
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
}
#endregion
public int DEPT_ID
{
get
{
return Convert.ToInt32 (DarentmentList.GetNodeFromIndex (DarentmentList.SelectedNodeIndex ).ID.Trim () );
}
}
public string DEPT_NAME
{
get
{
return DarentmentList.GetNodeFromIndex (DarentmentList.SelectedNodeIndex ).Text;
}
}
private void CreateDataSource()
{
DarentmentList.Nodes .Clear ();
TreeNode node=new TreeNode ();
node.Text ="开始";
node.ID ="0";
CreateDataSource("0",ref node);
DarentmentList.Nodes .Add (node);
}
private void CreateDataSource (string Parentid, ref TreeNode Pnode)
{
string sql ="SELECT DepartmentId,DepartmentName,IsPublic FROM departments WHERE ParentDepartmentID='"+Parentid+"'";
DataSet ds;
ds=dc.getBinding (sql,"s11");
foreach (DataRow dr in ds.Tables["s11"].Rows )
{
//TreeNode node=new TreeNode ();
Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode();
node.Text =dr["DepartmentName"].ToString ();
node.ID =dr["DepartmentId"].ToString ();
/*
if (dr["menupath"].ToString () !="")
{
node.NavigateUrl=dr["menupath"].ToString ();
node.Target ="main";
}*/
if(Convert.ToBoolean (dr["IsPublic"].ToString ().Trim ()))
{
CreateDataSource(dr["DepartmentId"].ToString (),ref node);
Pnode.Nodes .Add(node);
}
}
}
}
}
相关文章推荐
- VC6 和 VS2003 转换到VS2005 时可能会遇到的问题以及解决方法
- VC6 VS2003转换到VS2005中的一些问题
- VC6 和 VS2003 转换到VS2005 时可能会遇到的问题以及解决方法
- VS2003转换到VS2005的一些问题
- VC6 和 VS2003 转换到VS2005 时可能会遇到的问题以及解决方法
- VS2003 Project 转换成VS2005 Project遇到的问题
- 代码从VS2003升级到VS2005的编译链接问题及解决方法
- VC6和VS2003 转换到VS2005 时可能会遇到的问题以及解决方法
- 如何运用PHP转义符解决代码转换问题
- .NET代码混淆学习和解决视频批量转换中.wmv转换出错问题
- 从vs2003升级到vs2005的一个问题: 只读文本框(readonly textbox)不能在客户端修改值
- 如何解决VS2005没有代码智能提示的问题
- VS2003项目转为VS2005后ASP.NET ajax不能局部刷新的问题
- VS2003 向 VS2005 过渡的问题
- 【原创】[C#]解决 vs2003 升级 vs2005 中文乱码问题
- VS2005发布网站问题及"aspnet_merge.exe”已退出,代码为 1的错误
- VS2003升级到VS2005后遇到的问题
- 转:VS2005 & VS2008 对C++转换中问题总结
- https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题
- python中将中文汉字转换为英文首字母的代码及遇到的小问题