redirect的错误用法asp.net怎么使用自定义错误
工作了几年,写过程序也运营过网站,自定义错误也很熟悉了,最近再做项目发现有同事写了这样的代码
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怎么使用自定义错误的更多相关文章
- ASP.NET中处理自定义错误的最佳方式
要在ASP.NET中处理好自定义错误(Custom Errors)首先要抛弃使用web.config\customErrors. <customErrors mode="RemoteO ...
- ASP.NET MVC下自定义错误页和展示错误页的几种方式
在网站运行中,错误是不可避免的,错误页的产生也是不可缺少的. 这几天看了博友的很多文章,自己想总结下我从中学到的和实际中配置的. 首先,需要知道产生错误页的来源,一种是我们的.NET平台抛出的,一种是 ...
- 在Asp.Net的Global.asax中Application_Error跳转到自定义错误页无效的解决办法
在开发Asp.Net系统的时候,我们很多时候希望系统发生错误后能够跳转到一个自定义的错误页面,于是我们经常会在Global.asax中的Application_Error方法中使用Response.R ...
- ASP.NET网站中设置404自定义错误页面
在用ASP.NET WebForm开发一个网站时,需要自定义404错误页面. 做法是这样的 在网站根目录下建立了一个404.html的错误页面,然后在Global.asax文件中,加入如下代码: &l ...
- 在ASP.NET MVC自定义错误页面
异常处理跳转页面 第一步,在项目的Web.config文件中找到节点<system.web> 在此节点下添加配置(Error为定义的控制器也可以多添加些error标签用于区分不同的错误) ...
- 新西兰程序员 ASP.NET网站中设置404自定义错误页面
新西兰程序员 ASP.NET网站中设置404自定义错误页面 在用ASP.NET WebForm开发一个网站时,需要自定义404错误页面. 做法是这样的 在网站根目录下建立了一个404.html的错误页 ...
- asp.net mvc4中自定义404页面
原文地址:http://www.chuchur.com/asp-net-mvc4-404/ 定义404 方法当然有很多种.不同的方法所展现的形式也不一样,用户所体验也不一样.以下提供2两种 方法一: ...
- C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路
C#不用union,而是有更好的方式实现 用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C# ...
- PHP自定义错误处理
自定义错误报告的处理方式,可以完全绕过标准的PHP错误处理函数,这样就可以按照自己定义的格式打印错误报告,或改变错误报告打印的位置(标准PHP的错误报告是哪里发生错误就在发生位置处显示).以下几种情况 ...
随机推荐
- HDU 4616 Game (搜索)、(树形dp)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4616 这道题目数据可能比较弱,搜索都可以AC,但是不敢写,哎…… 搜索AC代码: #include & ...
- hdu4352(数位dp)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4352 题意:求区间L到R之间的数A满足A的的数位的最长递增序列的长度为K的数的个数. 分析:数位dp, ...
- hdu3602(变形背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3602 题意是:N个国家,M个飞船,每个国家有人数num,如果上飞船就给联合国value钱,选出某些国家 ...
- java--基于socket的网络传输开发
继http://blog.csdn.net/gaopeng0071/article/details/10959845此文章内容展开的研究. socket传输是基于tcp的网络传输协议进行的传输,tcp ...
- UVA 11768 - Lattice Point or Not(数论)
UVA 11768 - Lattice Point or Not option=com_onlinejudge&Itemid=8&page=show_problem&categ ...
- Python数据结构-字典
tel={,} tel[ print(tel) print(tel['tom']) del tel['tom'] print(tel) print(tel.keys()) 运行结果: {, , } { ...
- MooTools,jQuery库的一些比对
jQuery与MooTools库的一些比对 今天就我自己的一些认识比对下这两个JS框架,更多的是希望大家能够对MooTools这个JS框架有更多的认识.毕竟,大多数从事web前端的人对上手容易的j ...
- linux网络编程学习笔记之三 -----多进程并发服务端
首先是fork()函数.移步APUE 8.3. 比較清晰的解释能够參考http://blog.csdn.net/lingdxuyan/article/details/4993883和http://w ...
- 【ASP.NET】怎样使用类创建公共函数,在不同ASP.NET页面间反复调用
为了降低代码冗余,应将公共函数写在类中,供不同ASP.NET页面调用. 1,先新建一个类,并在类中加入函数逻辑 namespace public_function_demo { public clas ...
- 如何去除ecshop标题和网站底部的Powered by ECShop
这个问题困扰大家很久了,感觉Powered by ECShop出现在网站里边不爽,想方设法无法去除.今天在下专门把解决方法贴出来,希望能够方便大家! 注:我们使用ecshop的产品,建议把网站底部的P ...