zoukankan      html  css  js  c++  java
  • 都是Login惹得祸

     ASP.net 2.0的推出对我们程序员来说是再好不过的事情了,不仅功能更丰富了,而且使我们的开发效率大大提高,不过什么东西都有两面性,asp.net2.0所带来的新控件给我们的开发带来方便的同时,却在某些方面与我们的习惯相冲突。
            最近用asp.net做系统,很习惯的在做用户认证的部分建了一个新的网页名字是Login.aspx,当然不管你是编译也好调试也好都没有问题,一切如你希望的那样。但是,当你publish了你的系统,建立了虚拟目录,然后通过IE浏览的时候,问题出现了,页面会显示“Cannot convert type 'ASP.login_aspx' to 'System.Web.UI.WebControls.Login'”。仔细想了想,ASP.net2.0本身附带了Login控件,回过头看看自己创建的Login.aspx页面自动生成CodeBehind类也叫Login,这正好和系统的Login控件冲突了。既然冲突了,那就换个名字吧,可以长久以来登录的页面都是Login,如果叫个LoginPage,感觉怪怪的。我想不改页面的名字有不想使两个类的名字冲突,那就给codebehind类加个名字空间,结果呢?编译都通不过,问题在哪里呢?看看codebehind类的声明就明白了:
    public partial class Login : System.Web.UI.Page
    partial表明了这只是类的一部分,另外的部分是不可见的,不可见当然就不能修改了。但是,vs2005给我提供了rename的功能,当你修改类的声明的时候,vs会将这个类的其它部分自动rename,所以如果你用文本编辑器修改代码的话,肯定会出问题的。所以解决的方法就是,不修改页面的名字,只修改类的名字,然后修改页面中Inherits的指定了,例如,你将类的名字修改为Mylogin,然后在页面中将Inherits的指定改为:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="MyLogin" %>
    修改完后测试,一切正常。


    From :
    http://www.cnblogs.com/guanjinke/
  • 相关阅读:
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    软件工程实践总结
  • 原文地址:https://www.cnblogs.com/jhtchina/p/445164.html
Copyright © 2011-2022 走看看