当前位置:编程学习 > C#/ASP.NET >>

页面报错的问题。

举个例子:

       如果我的查询条件是根据int类型的来查询的,如果输入的是数字,那还好,如果随便输入一些汉字什么的,就报错了。
例如
       dp.Fill(ds);这里根据查询条件来填充数据库的时候就报错了。。。。


我想到的改进办法就是: 1.用javascript来验证必须是数字。
                       2.用try catch 来把程序包起来,报错。

我想问问程序运行的时候怎么才能不会出现那些具体的报错页面,给别人看一个友好的页面呢????????????

--------------------编程问答-------------------- 在web.config中配置 --------------------编程问答-------------------- 一是验证,二是修改数据库。
页面报错页可以在web.config页中配置。 --------------------编程问答--------------------
我想问问程序运行的时候怎么才能不会出现那些具体的报错页面,给别人看一个友好的页面呢???????????? 
--
设置web.config

参考.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>


--------------------编程问答-------------------- 最好使用脚本先验一下,这样速度快,如果格式不正确没有必要向服务器发送,但是在服务端的代码最好也加上Try Catch的语句快,这样保证程序处理正常。 --------------------编程问答-------------------- 西门 能稍微解释一下吗?

<customErrors   mode="RemoteOnly"   defaultRedirect="GenericErrorPage.htm"> 
                        <error   statusCode="403"   redirect="NoAccess.htm"   /> 
                        <error   statusCode="404"   redirect="FileNotFound.htm"   /> 
</customErrors> 
403这是报错类型还是什么?我怎么知道报错的类型。


我把所有的代码包在try catch 里面的这种做法是不是很傻??? --------------------编程问答-------------------- 楼主应该想办法去解决这个已知的问题,未知的异常个人看法才应该用异常


.aspx?Id=

1、这时,你应该判断是不是为 C#中的null(VB.NET 中的Nothing)

2、溢出异常,如果你的程序中是 这样
Convert.ToInt32(HttpContext.Current.Request.QueryString.Get("Id"))
此时,是有可能报错的。如果别人输入 很长的1111111111111111111111111111111111111111111111111
显示这就是个溢出了(当然还有输入字符串的问题),你得去解决这些已知的问题。

所以这里你可以使用 int.TryParse  方法。 --------------------编程问答-------------------- 谢谢,有点明白了 --------------------编程问答-------------------- 403 禁止访问:访问被拒绝 
404 未找到
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,