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

标签 c# asp.net webforms

  • .NET 4.51,WebForms

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

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

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

enter image description here

当我在表单中有一个 URL 时

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

我看到以下内容:

enter image description here

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

最佳答案

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

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

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

关于c# - ASP.NET Webforms - 如何确定请求以问号结尾,即。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31913121/

相关文章:

c# - 将通用数据表转换为类型化数据表

c# - 不能使用 C# 在 DropDownList 中选择多个项目

c# - TextBox 中的 ASP.net 简写

c# - 窗口之间的交互

c# - WPF DataGrid 绑定(bind)不显示值

asp.net - 使用 jQuery 获取现有 div 的宽度返回 null

c# - 对多个表执行全文搜索

c# - 将 Asp.net 项目从 4 升级到 4.5 或 5

c# - 将 Angular 与现有的 Asp.Net 网站一起使用

c# - 将 C# 代码转换为 F#(if 语句)