【问题标题】:Cannot pick query string variable from code behind无法从后面的代码中选择查询字符串变量
【发布时间】:2014-08-14 15:25:21
【问题描述】:

网址:http://localhost:11111/foldername/pagename.aspx#&&PORS=reactive&GridSortDirection=Ascending&GridPage=0&CJ=false&GridSortExpression=SiteReference&CN=na na

问题中的变量:值为 na na 的 CN

当我尝试下面的代码时,我得到空引用异常

string test = Request.QueryString["CN"].ToString();

我错过了什么吗?

注意:在上面的 URL 中,我尝试了所有变量,例如 PORS、GridSortDirection 等,但它们都不起作用。

【问题讨论】:

  • 查询字符串是'?'后面的内容在网址中。你有 '#' 而不是 '?'。 '#' 用于跳转到同一页面上的锚点。 URL 应该是:localhost:11111/foldername/…na

标签: asp.net


【解决方案1】:

Querystring 是 '?' 后面的内容在网址中。你有 '#' 而不是 '?'。 '#' 用于跳转到同一页面的锚点。

网址应该是这样的:

URL= http://localhost:11111/foldername/pagename.aspx?PORS=reactive&GridSortDirection=Ascending&GridPage=0&CJ=false&GridSortExpression=SiteReference&CN=na na

【讨论】:

  • 感谢您指出它的锚标记,我只能通过 javascript 解决它,请参阅链接以获取更多信息stackoverflow.com/questions/1322108/…
  • 抱歉,我没收到。您问题中的网址没有“?”,您的网址中的锚点也是如此吗?
  • 没关系,但锚点在那里是有原因的,我无法更改构建 URL 的方式只是想提取值,但显然我不能从后面的代码中查看我发布的 URL跨度>
【解决方案2】:

您的 URL 包含 页面片段标识符 (#)。浏览器不会将 # 右侧的任何内容发送回服务器(包括 # 本身)。所以服务器没有办法使用这些信息,除非你做一些非标准的事情,比如使用 javascript 通过 ajax 调用发送它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    • 1970-01-01
    • 2017-04-13
    • 2016-07-29
    相关资源
    最近更新 更多