来源:http://www.cnblogs.com/Hedonister/archive/ 2005/12/28 /306894.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
>
本文记录了从Visual Studio 2003迁移项目到Visual Studio 2005过程中遇到的几个关键问题及解决方案,包括事件处理函数权限调整、Web窗体设计器代码重复处理的解决方法以及Global.asax文件处理方式的不同。
910

被折叠的 条评论
为什么被折叠?



