由Login.aspx引发编译器错误的解决方法

当我们新建一个网站的时候,只要涉及到用户管理,一般都会把用户登录的页面作为网站的起始页。而这个起始页最为经常使用的一个名字便是:“Login”。当然这样在编码和调试环境下并没有什么不妥,也不会有什么错误或者警告的提示。但是当我们把做好的网站编译完成后,Copy到别的机器上进行发布时,问题就来了。用IE浏览会提示下面的错误信息:

编译器错误信息: CS0030 无法将类型“ASP.login_aspx”转换为System.Web.UI.WebControls.Login” 2008-05-02 18:39

编译器错误信息: CS0030: 无法将类型“ASP.login_aspx”转换为“System.Web.UI.WebControls.Login”

产生这个错误的原因是:在 .NET Framework 2.0 版中新增Login类.而我们又增加Login.aspx时莫名地冲突了

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %>

中Inherits="Login"这句,在创建页面Login.aspx的时候,vs2005在后台页面Login.aspx.cs也创建了类

public partial class Login : System.Web.UI.Page

而Login 类和2.0的'System.Web.UI.WebControls.Login'引发了冲突,所以才有上面的错误.在这里,只需要把Inherits= "Login" 和public partial class Login : System.Web.UI.Page 中的Login改为其它,错误就会消失了。

VS针对这个问题也不给提示,让人分析起来好困难。

2008-07-27 10:42 

原文地址:https://www.cnblogs.com/yeahgis/p/2246324.html