布署预编译的网站出现的冲突

很多人的网站都有一个login.aspx,在开发的时候,它好像一切都正常,没有什么问题。但是从开发转到预编译布署的时候,可能会出现下面的错误:

Cannot convert type 'ASP.login_aspx' to 'System.Web.UI.WebControls.Login'

 

原因应该是页面的名称为Login,而因为ASP.NET页面默认是没有namespace的,于是IIS在编译的时候,就会认为它是System.Web.UI.WebControls.Login这个控件,从而导致命名冲突。简单地改名也可以,不过很难预测什么页面会出现重名(比如 content也会出现重名~~),所以最好的解决方法是在每个页面前面都加一个namespace。

比如对Login.aspx:

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

然后在Login.aspx.cs中:

namespace MyNamespace{

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

}

 

这样就可以了。其实更好的是,添加namespace应该成为VS开发ASP.NET时的一个默认选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值