【问题标题】:ASP.NET Query string second valueASP.NET 查询字符串第二个值
【发布时间】:2011-11-03 15:55:32
【问题描述】:

我有一个带有链接按钮和 RowDatabound 的网格:

lbutton.Attributes.Add("onclick",
    "javascript:window.showModalDialog('Showsome.aspx?ID=" + lbutton.CommandArgument + " &IsMA=M" +
    "','window.self','dialogWidth:800px; dialogHeight:800px;center:yes; status:yes; scroll:no; help:no');");

我可以从Request.QueryString["ID"] 检索 ID; 但是,我无法检索Request.QueryString["IsMA"]

如何做到这一点?

我尝试了这些建议,没有更多的空格,并且进行了 URL 编码,但我没有正确获取值。我有另一种方法,因为它是一个硬编码值 'M' 以及我现在将其附加到 ID 值本身 'Showsome.aspx?ID=M" 中的值。感谢您的支持。

【问题讨论】:

  • 你能粘贴你的网址吗,可能你需要将字符串编码为 html "lbutton.CommandArgument"
  • 您可能需要对命令参数进行 URL 编码。
  • 也许您需要将& 替换为&
  • 我的错!我有 lbutton.Attributes.Add 和另一个链接按钮,并且意外地再次有 lbutton.Attributes.Add 覆盖了我的实际代码。所以我选择了第一个答案。我想这里的所有建议都有效!

标签: javascript asp.net query-string


【解决方案1】:

CommandArgument&IsMA 之间有一个空格

这会导致您的问题吗?

试试:

+ lbutton.CommandArgument + "&IsMA=M"

CommandArgument 的值是什么?您可能需要对此进行编码。无论哪种方式,我都建议这样做。

+ Server.UrlEncode(lbutton.CommandArgument) + "&IsMA=M"

【讨论】:

    【解决方案2】:

    尝试删除 & 字符前的空格:

    lbutton.CommandArgument + "&IsMA=M"
    

    编辑:正如 SLaks 在下面指出的那样,转义 & 字符是没有必要的。因此,Attributes.Add()documentation 表示:

    如果value 参数中的字符串包含与号 (&),则 字符被自动编码。生成的 HTML 表示 是“&”。

    【讨论】:

    • ASP.Net 应该为他做这件事。
    • 转义符号?也许。删除空间?我不太确定:)
    • 在依赖于浏览器之前,我已经知道一些空格问题。许多较旧的浏览器不会读取空格并且需要编码。以前从未遇到过& 未在服务器运行控件中转换的问题..
    猜你喜欢
    • 2021-09-01
    • 2015-06-25
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多