c# - & 符号 url 编码问题

标签 c# .net asp.net

我正在硬编码一个网址,使其具有如下内容:

“/ContactUs.aspx?mode=New&form=联系人”

页面正在将以下内容呈现为网址的一部分...

mode=New&%3bform=联系方式

所以当我重定向到此页面时页面会中断。并尝试Request.QueryString[“form”]。

我怎样才能让它与 & 符号一起工作

最佳答案

您是否尝试过使用 HTML 实体 & 来转义 & 符号? ? URL 中的 & 符号必须进行转义。您还应该对查询字符串中传递的任何值进行 URL 编码 - 我认为 HttpUtility.UrlEncode()这样做(在我的脑海中)。

例如,您的网址应该是:

/ContactUs.aspx?mode=New&form=Contact

但是,如果您使用 <asp:HyperLink />,则不需要执行此操作,如NavigateUrl属性会自动编码。

参见this article on URL Encoding为什么你需要这样做。在 .NET 中,您可以使用 HttpUtility.UrlEncode method去做这个。也可以通过 Server.UrlEncode 访问当前HttpContext.

关于c# - & 符号 url 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1194616/

相关文章:

.net - Parallel.ForEach - 优雅的取消

.net - Linq 2 Sql - 如何使用实体继承设计适当的存储库、 Controller 和 View 模型流程

c# - 'EntityFrameworkCore' 在命名空间 'Microsoft' 中不存在

c# - MongoClient 的生命周期应该如何工作?

asp.net - 是否有用于 ASP.NET session 的 Visual Studio 调试器可视化工具?

c# - C# 和 Java 之间的 AES/CBC/NoPadding

c# - 在 Web API 中处理来自 POST 或 PUT REST 请求的二进制数据

c# - 自定义身份验证 OpenRasta

c# - 使用 LINQ 有什么方法可以做到这一点?

asp.net - 如何在 Google App Engine 上托管 ASP.NET MVC 5.1 应用程序