zoukankan      html  css  js  c++  java
  • ASP.NET 页面传递URL 指定的参数 不存在 时异常。怎么做判断

    ASP.NET中,若要将一个URL参数值赋值给一个变量,都得先判断参数是否存在


      if (Request["Data"]!= null) { searchtext.Value = Request["Data"].ToString(); }

    后来发现URL为:http://www.baidu.com

    对应的DATA根本没有传递。

    于是就利用 if (Request["Data"].tostring()!= null)来判断。异常依旧发生。

    原理:这里的Data参数根本不存在。转换String当然异常。

    所有接着  if (Request["Data"]!= null)

    还有的是

    http://www.baidu.com?Data=

    这样的也是有异常的。它的值为一个空字符串,所以通过了Request["Data"].tostring()!= null的验证,

    但将空字符串传给int.Parse方法,还是报错了,可见,光判断参数是否存在还是不够的,还必须得进一步判断是否有传值才行,最终代码改为:


    复制内容到剪贴板  程序代码
    int id = 0;
    if (!string.IsNullOrEmpty(Request.QueryString["id"])) //String值类型。    非空。再转参。
        id = int.Parse(Request.QueryString["id"]);

    原因是:

    1.当参数不存在时,参数值为null,调用string.IsNullOrEmpty方法,null会自动转换为空字符串;所以该方法就为FALSE了。就不执行下面的INT转换了。

    2.当参数存在但不传值时,参数值为空字符串,string.IsNullOrEmpty很容易就判断出来了! 同样。

    本人声明: 个人主页:沐海(http://www.cnblogs.com/mahaisong) 以上文章都是经过本人设计实践和阅读其他文档得出。如果需要探讨或指教可以留言或加我QQ!欢迎交流!
  • 相关阅读:
    3.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——下载文件
    rem实现手机页面自动缩放
    Git 常用命令
    使用 canvas+JS绘制钟表
    JS 操作数组的方法
    Node.js Request方法
    兼容浏览器的点击事件
    ES6知识点
    上传项目到github上
    JavaScript 编码风格
  • 原文地址:https://www.cnblogs.com/mahaisong/p/2032500.html
Copyright © 2011-2022 走看看