这两天在做一个B/S应用程序,一直在我自己的机器上写,一切似乎看起来都很好. 昨天老板想看看我做到什么程度了,我于是把它发布到IIS 上: 这就是B/S的好处, 随时可以向老板展示,而无需让老板来我的办公室, 或向他的电脑装一些半成品.
然而,发布以后, 却发现无法访问,出了一个错误, 叫做:
Cannot convert type 'ASP.login_aspx' to 'System.Web.UI.WebControls.Login'
奇怪! 在VS里运行明明好好的,为什么一发布就出问题了呢? 然而没时间研究, 只好把老板请到我的办公室来, 让他先看看. 今天遂开始研究这个错误, 仔细读了读出错代码, 发现是vs 自动生成的代码遇到了错误, 不知道为什么它非把页面类转换成webControls 类的东西, 郁闷了半天,没搞明白. 然后上Google搜索,结果很快在这个网址看到了原因:
http://www.groupsrv.com/dotnet/about147910.html
原来果然是vs 的bug, 页面类名叫"Login", 有一个登录控件名也叫"Login", 所以编译器就被弄糊涂了, 就要尝试把页面转换成控件了,其结果当然会错误.
解决办法: 随便把Login.aspx 页改个名字, 当然, 里面的类名也要随之更改. 比如,你可以像我一样把Login.aspx改成LoginPage.aspx, 重新发布, 一切OK.