工作了几年,写过程序也运营过网站,自定义错误也很熟悉了,最近再做项目发现有同事写了这样的代码

if (action != null)
{
id = Request.QueryString["id"].GetString().GetInt();
if (!IsPostBack)
{
DataInit();
if (action.Equals("edit"))
{
BindData();
}
}
}
else
{
Response.Redirect("/error/403.html");
}

乍看一下,不错逻辑还是挺清晰的,如果请求为空就把页面重定向到没有访问权限的页面,可能大部分的人都这么写,也可能是学校里老师就这么教的吧,没有权限redirect到另一个页面。这样问题就来了,我的错误页面一定是放在那个路径下的吗?如果哪一天我整体移动了错误页面的位置,还要把每个页面下的重定向路径修改掉,这样写你玩的可嗨啊。如果这样那微软为我们提供了在自定义错误页面的意义何在?以上绝没有批评的意思,或许看到这许多人开始暗骂:你个吊人说了这么多,自己又能写成啥鸟样子。呵呵不急。

我们知道自定义错误页面有两种方法,当然我说的局限与asp.net和iis上,没玩过其他的平台。一种在iis上做处理还一种就是webconfig做配置,如还有其他谢谢来信指正。现在就出现我们该如何来应用这些自定义错误,首先像上面那段代码一定是不对的了,那我们该如何来写?或许有人会想到诶~页面出错的时候会出现错误码StatusCode是不是设置这个呢?当然你可以去试一下,不错接近了,可惜不是,心中是不是有些少许失落,别气馁同一个思路,既然是错误页面,在程序里什么的情况下叫错误呢?应该是所有人都遇到过那就是异常,对抛出异常,异常就是错误,迫不及待的我们再试一次,注意这里抛出的是http异常,啪啪啪敲完调试运行成功。哈哈哈像我们所希望的那样开始运行了,至此开始破口大骂,砸键盘摔电脑下班走人。

代码如下:

if (action != null)
{
id = Request.QueryString["id"].GetString().GetLong();
if (!IsPostBack)
{
DataInit();
if (action.Equals("edit"))
{
BindData();
}
}
}
else
{
throw new HttpException(,"请求范围不被允许");
}

webconfig配置如下:

<customErrors mode="RemoteOnly" defaultRedirect="/index.aspx">
<error statusCode="401" redirect="/login.aspx"/>
<error statusCode="403" redirect="/error/403.html"/>
<error statusCode="404" redirect="/error/404.html"/>
<error statusCode="416" redirect="/error/416.html"/>
</customErrors>

如果还有其他的自定义错误照此添加,当然你也可以不在webconfig里配置而是修改iis上你这个站点的错误页面配置。

谢谢耐心的看完,以上纯属个人拙见,如有错误欢迎指正。

redirect的错误用法asp.net怎么使用自定义错误的更多相关文章

  1. ASP.NET中处理自定义错误的最佳方式

    要在ASP.NET中处理好自定义错误(Custom Errors)首先要抛弃使用web.config\customErrors. <customErrors mode="RemoteO ...

  2. ASP.NET MVC下自定义错误页和展示错误页的几种方式

    在网站运行中,错误是不可避免的,错误页的产生也是不可缺少的. 这几天看了博友的很多文章,自己想总结下我从中学到的和实际中配置的. 首先,需要知道产生错误页的来源,一种是我们的.NET平台抛出的,一种是 ...

  3. 在Asp.Net的Global.asax中Application_Error跳转到自定义错误页无效的解决办法

    在开发Asp.Net系统的时候,我们很多时候希望系统发生错误后能够跳转到一个自定义的错误页面,于是我们经常会在Global.asax中的Application_Error方法中使用Response.R ...

  4. ASP.NET网站中设置404自定义错误页面

    在用ASP.NET WebForm开发一个网站时,需要自定义404错误页面. 做法是这样的 在网站根目录下建立了一个404.html的错误页面,然后在Global.asax文件中,加入如下代码: &l ...

  5. 在ASP.NET MVC自定义错误页面

    异常处理跳转页面 第一步,在项目的Web.config文件中找到节点<system.web> 在此节点下添加配置(Error为定义的控制器也可以多添加些error标签用于区分不同的错误) ...

  6. 新西兰程序员 ASP.NET网站中设置404自定义错误页面

    新西兰程序员 ASP.NET网站中设置404自定义错误页面 在用ASP.NET WebForm开发一个网站时,需要自定义404错误页面. 做法是这样的 在网站根目录下建立了一个404.html的错误页 ...

  7. asp.net mvc4中自定义404页面

    原文地址:http://www.chuchur.com/asp-net-mvc4-404/ 定义404 方法当然有很多种.不同的方法所展现的形式也不一样,用户所体验也不一样.以下提供2两种 方法一: ...

  8. C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路

    C#不用union,而是有更好的方式实现   用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C# ...

  9. PHP自定义错误处理

    自定义错误报告的处理方式,可以完全绕过标准的PHP错误处理函数,这样就可以按照自己定义的格式打印错误报告,或改变错误报告打印的位置(标准PHP的错误报告是哪里发生错误就在发生位置处显示).以下几种情况 ...

随机推荐

  1. The tempfile module

    The tempfile module The tempfile module This module allows you to quickly come up with unique names ...

  2. 用TinyXml2读取XML文件的一个简单Demo

    废话少说直接上代码,需要的人自然一看便懂,对于第一次接触TinyXml2的人来说还是有帮助的. <?xml version="1.0"?> <Table name ...

  3. 解决NGINX的WORDPRESS伪静态规则失效的问题

    解决NGINX的WORDPRESS伪静态规则失效的问题 前两天搬到了EMSVPS的PR线路上,用上了最新的WDCP2.0管理面板,支持多用户管理(我们几个合租的VPS,最需要这个功能了),感觉很不错, ...

  4. swift 笔记2

    swift交流群:342581988,欢迎增加. 今天真郁闷啊,把mac升级到10.10了.如今好了,曾经的程序都跑不了了.哎,不说了,让我郁闷会再. 说说条件推断吧,事实上这些基本的语法大家都知道肯 ...

  5. MVC数组模型绑定

    ASP.NET MVC数组模型绑定   在ASP.NET MVC中使用Razor语法可以在视图中方便地展示数组,如果要进行数组模型绑定,会遇到索引断裂问题,如下示例: <input type=& ...

  6. spark的action和transformations汇集

    汇总了Spark支持的Transformations 和Actions 用于备忘! 參考 http://spark.apache.org/docs/latest/programming-guide.h ...

  7. BT渗透工具使用学习笔记

    BT51.信息收集2.扫描工具3.漏洞发现4.社会工程学工具5.运用层攻击MSF6.局域网攻击7.密码破解8.维持访问一.DNS信息收集1.Dnsenum/pentest/enumeration/dn ...

  8. Java注解全面解析(转)

    1.基本语法 注解定义看起来很像接口的定义.事实上,与其他任何接口一样,注解也将会编译成class文件. @Target(ElementType.Method) @Retention(Retentio ...

  9. Linux Server

    Linux Server CentOS 6.3下配置iSCSI网络存储 摘要: 一.简介iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运 ...

  10. SE 2014年5月22日

    一.   用自己的理解描述 tunnel接口状态 up和down的情况都有哪些 Tunnel接口的状态UP:隧道的目标有可达路由. Tunnel接口的状态Down:隧道的目标路由不可达. 如图配置实验 ...