.Net1.x转换为.Net 2.0要注意的几个问题

来源:互联网 发布:linux openfile 编辑:程序博客网 时间:2024/06/02 06:39

来源:http://www.cnblogs.com/Hedonister/archive/2005/12/28/306894.html

今天把前不久刚开始的一个练习项目转化到vs2005下继续开发,还是比较烦的,出现了下面三个问题:

1、原来的事件处理函数为private,转化后将出现找不到该事件处理的情况;
解决办法:将private改为public,并在控件属性设置相应事件的方法;

2、Web 窗体设计器生成的代码转化后将继续保留,会引发重复处理的情况,删除即可

#region Web 窗体设计器生成的代码
        
override protected void OnInit(EventArgs e)
        
{
            
//
            
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
            
//
            InitializeComponent();
            
base.OnInit(e);
        }

        
        
/// <summary>
        
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
        
/// 此方法的内容。
        
/// </summary>

        private void InitializeComponent()
        
{    
            
this.ibOK.Click += new System.Web.UI.ImageClickEventHandler(this.ibOK_Click);
            
this.Load += new System.EventHandler(this.Page_Load);

        }

        
#endregion

3、Global.asax文件的处理形式不一样,转化后将出现错误,在vs2003中Global.asax具有代码后置文件,而vs2005则直接出现如下代码,所以需要删除转化过来的文件重新加入,并把相应的代码copy过来   :
<%@ Application Language="C#" %>

<script runat="server">
    
void Application_Start(object sender, EventArgs e) 
    
{
    }

    
    
void Application_End(object sender, EventArgs e) 
    
{
        
//  在应用程序关闭时运行的代码
    }

        
    
void Application_Error(object sender, EventArgs e) 
    

        
// 在出现未处理的错误时运行的代码
    }


    
void Session_Start(object sender, EventArgs e) 
    
{
        
// 在新会话启动时运行的代码
    }


    
void Session_End(object sender, EventArgs e) 
    
{
        
// 在会话结束时运行的代码。 
        
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
        
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer 
        
// 或 SQLServer,则不会引发该事件。
    }

       
</script>