Skip to main content
 首页 » 编程设计

c#之ASP.NET Webforms之如何确定请求以问号结尾,即。

2024年02月05日29xing901022

  • .NET 4.51,WebForms

当我输入 WebForms 应用程序的 URL 时:

http://localhost/blog/how-are-cruise-ships-powered?

我查看了 Request.URL,我看到了以下内容:

当我在表单中有一个 URL 时

http://localhost/blog/how-are-cruise-ships-powered

我看到以下内容:

那么如何区分这两者呢?我需要重定向尾随 ?在它上面没有有尾随的?但我分不清哪个是哪个。非常感谢任何指点。

请您参考如下方法:

简短的回答是它们(在语义上)是完全相同的 URL。 ? 是一个特殊字符,用作 URL 的位置(地址)部分与其查询参数之间的分隔符。

之后没有参数的尾随 ? 的功能应该与其裸对应物没有什么不同,也不需要在标准服务器(包括 IIS)上进行任何特殊的重定向/解析/处理。因此,实际上您不需要做任何事情。

如果您真的真的需要在 URL 请求字符串中找到 ? 字符,您将不得不在堆栈的上一层做一些事情。但请注意,这会破坏普遍认可的网络语义,此时发送重定向甚至可能导致客户端无限循环,具体取决于实际附加该 的人?.