当前位置: 代码迷 >> ASP.NET >> 本地测试正常,下传到服务器报错!若要使他人能够在远程计算机下查看此特定异常消息的详细信息,请在位于当前 Web 应用程序根目录上的“web.config”配置文件中创建一个 <customErrors
  详细解决方案

本地测试正常,下传到服务器报错!若要使他人能够在远程计算机下查看此特定异常消息的详细信息,请在位于当前 Web 应用程序根目录上的“web.config”配置文件中创建一个 <customErrors

热度:3501   发布时间:2013-02-25 00:00:00.0
本地测试正常,上传到服务器报错!若要使他人能够在远程计算机上查看此特定错误消息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors
写了个网站,在本地调试运行正常,可是上传到服务器就报错。如下:
  若要使他人能够在远程计算机上查看此特定错误消息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记。然后应将此 <customErrors> 标记的“mode”属性设置为“Off”。
  
  <!-- Web.Config 配置文件 -->

<configuration>
  <system.web>
  <customErrors mode="Off"/>
  </system.web>
</configuration>
 

注释: 通过修改应用程序的 <customErrors> 配置标记的“defaultRedirect”属性,使之指向自定义错误页的 URL,可以用自定义错误页替换所看到的当前错误页。


<!-- Web.Config 配置文件 -->

<configuration>
  <system.web>
  <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
  </system.web>
</configuration>
 
而我在web.config中并未配置<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
而是这样配置的 <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">

我在程序中把default.aspx从数据库读取的部分都更换成静态内容显示,还是报以上的错,接着我在程序中加了个静态的页面test.htm,服务器是可以访问的,只要是静态页面好像都可以访问,动态的页面都报这个错。请教各位到底是上面原因啊??

------解决方案--------------------------------------------------------
我遇到过你说的这种问题,在服务器上的IE浏览器中看的是正常的,但在客户端访问的时候就会出问题。当时按照出错提示做了更改——完全不行,后来才发现原来是服务器代码中一个获取日期的类型弄错了,改了就没问题了。但在运行中并不会报错。所以我觉得你还是应该仔细检查下服务器端源代码,看是否有哪个地方出错了。
------解决方案--------------------------------------------------------
出现这个错误提示的原因,是因为你的这个页面有错误,
比如,你这个页面初始化的时候,需要从数据库中读取数据加载到页面,
比如你有某个Dropdownlist是从数据库中读取数据绑定,但是页面刚加载的时候,你读取到的数据源内容是空的,于是页面就报错了,但是这个错误,在本地是可以查看的,通过外网连接的时候,因为你的配置文件没有配置允许远程查看错误,所以就不能查看,报告的就是你所述的这个错误。
仔细查看你的页面初始化需要绑定的数据,调试一下,是否有某个从数据库读取的数据初始化时候值是null的!
------解决方案--------------------------------------------------------
在web.config中添加: 
<system.web> 
<customErrors mode="Off"/> 
</system.web> 

这样可以看到具体的错误信息

------解决方案--------------------------------------------------------
看看你的服务器是否支持asp.net,如果支持的话,要看一下是否支持你程序用的版本,比如你用的是asp.net 2.0 ,但服务器只支持1.0
  相关解决方案