ASP.NET Webforms - 如何确定请求以问号结尾,即。?
ASP.NET Webforms - How to determine of a request ends in a question mark ie.?
- .NET 4.51,网络表单
当我在 WebForms 应用程序中输入 URL 时:
我查看了 Request.URL 我看到了以下内容:
当我在表单中有一个 URL 时
我看到以下内容:
那我怎么区分他们两个呢?我需要重定向具有尾随的 URL 吗?在它上面 not 有尾随的?但我分不清哪个是哪个。非常感谢任何指点。
简短的回答是它们(在语义上)完全相同 URL。 ?
是一个特殊字符,用作 URL 的位置(地址)部分与其查询参数之间的分隔符。
后面没有参数的尾随 ?
的功能与其裸对应物应该没有什么不同,也不应该在标准服务器(包括 IIS)上需要任何特殊的 redirecting/parsing/handling。因此,您实际上不需要做任何事情。
如果您确实确实需要在 URL 请求字符串中找到 ?
字符,则必须在堆栈中执行更高一层的操作。但请注意,这会破坏普遍认可的网络语义,此时发送重定向 甚至可能导致客户端无限循环 取决于实际附加 [=10] 的人=].
我同意@lc。答案,但如果您仍然需要 inspect/fetch 它,您可以通过 Request.RawUrl
.
访问它
Request.RawUrl
包含域斜杠后面的任何内容。
例如mysite.com/somepage?
会导致 /somepage?
- .NET 4.51,网络表单
当我在 WebForms 应用程序中输入 URL 时:
我查看了 Request.URL 我看到了以下内容:
当我在表单中有一个 URL 时
我看到以下内容:
那我怎么区分他们两个呢?我需要重定向具有尾随的 URL 吗?在它上面 not 有尾随的?但我分不清哪个是哪个。非常感谢任何指点。
简短的回答是它们(在语义上)完全相同 URL。 ?
是一个特殊字符,用作 URL 的位置(地址)部分与其查询参数之间的分隔符。
后面没有参数的尾随 ?
的功能与其裸对应物应该没有什么不同,也不应该在标准服务器(包括 IIS)上需要任何特殊的 redirecting/parsing/handling。因此,您实际上不需要做任何事情。
如果您确实确实需要在 URL 请求字符串中找到 ?
字符,则必须在堆栈中执行更高一层的操作。但请注意,这会破坏普遍认可的网络语义,此时发送重定向 甚至可能导致客户端无限循环 取决于实际附加 [=10] 的人=].
我同意@lc。答案,但如果您仍然需要 inspect/fetch 它,您可以通过 Request.RawUrl
.
Request.RawUrl
包含域斜杠后面的任何内容。
例如mysite.com/somepage?
会导致 /somepage?