vs2003转换成vs2005代码的问题

本文介绍在Visual Studio 2005中使用IEWebControl时遇到的问题及解决方案,涉及到.net版本升级引起的TreeNode引用冲突,并分享了一段具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在测试一个项目的时候,是用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);
    }
    
     
    
   }
  }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值