首页新闻找找看学习计划

地址栏传参,未将对象引用到实例

0
悬赏园豆:15 [已解决问题] 解决于 2012-03-06 08:38

我在1.aspx页面写了个超链后面链接地址为2.aspx?id=....   

我在2.aspx里写了个判断 if (Request.QueryString["id"].ToString()!=null){方法体}或者写上string.IsNullOrEmpty(Request.QueryString["id"].ToString())  都报错

当我随意在2.aspx页面地址栏里去掉id=(后面的参数)  或者改成id=(数据库里没有的值)

第一个会报未将对象引用到实例,第二个提示  在位置 0 处没有任何行

colyn的主页 colyn | 初学一级 | 园豆:79
提问于:2012-03-05 13:49
< >
分享
最佳答案
0

少年,麻烦你看看清楚

Request.QueryString["id"] //这个返回的是String类型,以后别这样了好吗?
收获园豆:15
写代码的小2B | 老鸟四级 |园豆:4346 | 2012-03-05 14:11
其他回答(5)
0
string.IsNullOrEmpty(Request.QueryString["id"])
artwl | 园豆:16526 (专家六级) | 2012-03-05 13:50
0

 if (Request.QueryString["id"]!=null){方法体}
string.IsNullOrEmpty(Request.QueryString["id"]) 

慧☆星 | 园豆:5384 (大侠五级) | 2012-03-05 14:13

谢谢帅哥们。但是如果在浏览器地址栏里输入的参数大,他报错咋办?我上面图片里有错误信息。。

支持(0) 反对(0) colyn | 园豆:79 (初学一级) | 2012-03-05 14:29

@colyn: Post提交即可

支持(0) 反对(0) like%'远远'% | 园豆:656 (小虾三级) | 2012-03-05 14:48
0

只要做好验证一般情况下不会报错,如果参数太多就是Post提交;

Get提交:if(Request.QueryString["id"]!=null && Request.QueryString["id"].ToString().Trim()!=""){}

Post提交:if(Request.Form["id"]!=null && Request.Form["id"].ToString().Trim()!=""){}

判断时还是建议使用string.IsNullOrEmpty(""),这样比较正规。。。

KivenRo | 园豆:1722 (小虾三级) | 2012-03-05 19:59
0

这也是一种方法:

string strId=Request.QueryString.Get("Id");//避免不存在指定的Url字符串参数时,报“未将对象引用设置到对象的实例”错误。

if (!string.IsNullOrEmpty(strId))

{

  .......

}

--宁静以致远-- | 园豆:364 (菜鸟二级) | 2012-03-05 20:44
0

找的就是你,啊哈

yunhaibao | 园豆:202 (菜鸟二级) | 2012-05-03 13:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册