【问题标题】:httpcontext.current.request default return value if not sethttpcontext.current.request 默认返回值,如果没有设置
【发布时间】:2012-07-03 05:47:58
【问题描述】:

我花了很多时间在谷歌上搜索并在我的程序中进行测试,但我无法获得任何输出。我正在用 C# 代码隐藏 aspx 进行编码。我正在尝试查询

的 url

anUnknownWebsite.aspx?SerialNumber=CND0340482

并使用 httpcontext.current.request["SerialNumber"] 方法获取序列号。

我的程序的一半工作正常,如果在 URL 中设置序列号,一切正常,但我想要一个布尔语句,如下所示:

    if(HttpContext.Current.Request["SerialNumber"] == null)
    {
    Do this
    }else
    {
    Do something else
    }

我只想知道该方法是否有默认值或空值来获取布尔值,因为上面的 if 语句不起作用。 打开以尝试有关此的任何新想法或理论。

谢谢大家

【问题讨论】:

    标签: httpcontext request.querystring


    【解决方案1】:

    它应该为空(不是空字符串/默认值),但试试这个...

    if(HttpContext.Current.Request.QueryString["SerialNumber"] == null) {
        // ...
    }
    

    如果您知道 SerialNumber 在查询字符串中,则可以使用 Request.QueryString,否则您还将检查表单变量、cookie 和服务器变量。

    【讨论】:

    • 感谢#dbaseman,不幸的是这对我没有用。我的代码如下: if (HttpContext.Current.Request.QueryString["SerialNumber"] == null) { serial = HttpContext.Current.Request.QueryString["SerialNumber"]; serialNumber.Text = 序列号; } else { serialNumber.Text = "无序列号";你能看出我做错了什么吗?我确实尝试过将其隔开,但您可能必须将其复制到文档中才能正确查看,因为它的间距不正确。
    • @Josh 看起来你的 if/then 条件是倒退的,也许这就是问题所在。
    猜你喜欢
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 2011-12-01
    • 1970-01-01
    相关资源
    最近更新 更多