您的位置:首页 > 其它

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

2008-04-23 18:48 357 查看
来源:/article/4752760.html

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

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

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




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>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: