zoukankan      html  css  js  c++  java
  • "/"应用程序中的服务器错误

    调试状态下无错,发布后出现奇怪的错误,报错现象如图:

    当时候就郁闷了,这是为什么?看提示像是配置文件中的错误,找大半天并不是的……,请教高手,找度娘,终于找到了一稿子,在这与大家共享。其实这并不是什么配置文件的错误。

         先说下错误原因,然后才能修改并以后避免这样的错误。 

       在ASP.net中,每个aspx页面都会有一个.cs文件,(好像不可以多个aspx共用一个cs的,我前面就碰到这个问题),在aspx页面中,我们会用到服务器控件,或html控件,这些控件的id命名时,如果与cs文件中的变量重名的话,就会出错;而且不管大小写是否一样,都会报错;

       可能大家会问,C#不是区分大小写的吗?C#是区分大小写的,也正是因为如此,我们在调试时不会报错,而IIS呢,它是不区分大小写的,发布后,就报错了。

       当然,如果你不想改动程序去修正这个错误的话,你也可以将整个项目的源程序复制到IIS目录下,就可以正常运行,呵呵,非常不建议这样做;

       我们写在程序时,虽然C#中,变量string companystring Company会被区分成两个变量;但我们并不提倡这样做,应尽量避免,这个大家一般不会写错;主要是aspx页面中的控件idid之间也不要用相同的字符,而且与cs文件中变量名也不要采用相同的字符,不仅是区分大小写的问题;

       再有,就是,在程序中,我们写好了一类,如Deparment;而我们在aspx的页面中,放了一个控件,如gridview,其iddepartment或是Deparment,在cs文件中,我们照样可以Deparment.DataSource,以及Deparment.DataBind()来绑定,都不会报错的;而一旦发布后,到了IIS中,就会报错;

       这些命名方法,虽然不算错误的,但要避免,不要光看调试时报不报错,关键是,项目发布后是否正常运行;我们还要考滤项目发布后的运行环境,就是在IIS下的情况。

    参考文章:http://hi.baidu.com/%D5%C5%D2%E5%B3%AC200803/blog/item/8fc3de8360724fab6c811939.html

  • 相关阅读:
    LINQ to DataSet
    LINQ to SQL
    $.ajax()方法解析
    【转】数据库获得当前时间getdate()
    几种单例模式解析
    WebView上实现Java与JavaScript交互
    Dapper(.NET下的ORM框架)的基本使用
    IPtables中SNAT和MASQUERADE的区别
    我的桌面版fedora10安装
    我的fedora10的virtual box网络设置
  • 原文地址:https://www.cnblogs.com/zhangzili/p/2550373.html
Copyright © 2011-2022 走看看