.Net1.x转换为.Net 2.0要注意的几个问题
今天把前不久刚开始的一个练习项目转化到vs2005下继续开发,还是比较烦的,出现了下面三个问题:
1、原来的事件处理函数为private,转化后将出现找不到该事件处理的情况;
解决办法:将private改为public,并在控件属性设置相应事件的方法;
2、Web 窗体设计器生成的代码转化后将继续保留,会引发重复处理的情况,删除即可
3、Global.asax文件的处理形式不一样,转化后将出现错误,在vs2003中Global.asax具有代码后置文件,而vs2005则直接出现如下代码,所以需要删除转化过来的文件重新加入,并把相应的代码copy过来 :
1、原来的事件处理函数为private,转化后将出现找不到该事件处理的情况;
解决办法:将private改为public,并在控件属性设置相应事件的方法;
2、Web 窗体设计器生成的代码转化后将继续保留,会引发重复处理的情况,删除即可
Web 窗体设计器生成的代码
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>
<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>