【问题标题】:Passing Empty string parameter in URL在 URL 中传递空字符串参数
【发布时间】:2014-02-20 18:51:24
【问题描述】:

我想在 url 中传递一个空字符串参数。我不知道该怎么做。

我在网格的 url 中传递这些参数。如果我使用 Race='' 在数据库中。我得到了相应的记录。我需要在 url 中传递这个

test.aspx?race=""

【问题讨论】:

    标签: asp.net vb.net url


    【解决方案1】:
    Dim race As String
    
    race = ""
    
    Response.Redirect("page.aspx?race=" & race)
    

    这是你想要的吗??

    【讨论】:

    • 我正在尝试从字段race 为空白的数据库中提取记录(Select * from tbltest where race='')。我想知道如何将 query.string 或 URL 中的 balnk 参数传递给网格
    • 它确实回答了这个问题,虽然它有点模糊 - 正确的答案是 URL 应该是text.aspx?race=
    【解决方案2】:

    网址如下所示:

    text.aspx?race=
    

    text.aspx?race=&otherParam=value&etc=otherValue
    

    然后你将有代码来处理空的比赛:

    if(string.IsNullOrEmpty(Request.QueryString["race"]))
    // handle the empty race differently
    

    【讨论】:

    • Modsecurity 不会这样。它想查看 = 和 & 之间的内容,否则会将其标记为攻击尝试。
    【解决方案3】:

    你可以像这样在url中传递一个空字符串

    test.aspx?race=%02%03
    

    %02 - 文本 ASCII 字符的开头

    %03 - 文本结束 ASCII 字符

    this页面你也可以找到其他字符。

    【讨论】:

    • 有趣。但是,AFAIK,URL 规范没有为这两个字符定义任何特殊行为。您的链接页面显示 “控制字符在 URL 中没有任何关系。” 鉴于此,我只看到两种可能性:a)这些字符被从值中丢弃,在这种情况下,这是“矫枉过正” ;为什么不直接使用较早的答案test.aspx?race=?或者 b) 这些字符包含在值中,在这种情况下,您需要特殊的逻辑来查找该两个字符的字符串 - 似乎是不可取的。我没有测试过,但我相信会发生“(b)”。
    猜你喜欢
    • 2016-01-11
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    相关资源
    最近更新 更多