在asp.net 4.0 web表单中url路由中的特殊字符

本文关键字:url 路由 特殊字符 表单 web asp net | 更新日期: 2023-09-27 18:01:36

在asp.net 4.0中使用url路由时如何处理url中的特殊字符?

特殊字符,如(&)。

显示错误为错误的请求或url中的危险字符。

如何处理?

假设我有全局url路由。asax文件

protected void Application_Start(object sender, EventArgs e)
    {
        CustomRouteTable(RouteTable.Routes);
    }
void CustomRouteTable(RouteCollection routes)
    {
        routes.MapPageRoute("Product", "Product/{pId}/{ProductName}", "~/Product/ProductDetail.aspx");
    }

假设productName为Phone&Cordless或Phone:Cordless然后出现error

如何处理?

在asp.net 4.0 web表单中url路由中的特殊字符

您真的应该避免在不是用于处理查询字符串参数的url中使用&号。考虑在url的产品名中使用"-and-"代替。

URL有一种特殊的编码,它被称为URL编码,几乎所有的web编程语言(包括JavaScript)都有一种方法来编码和解码字符串,从URL编码字符串中输入和输出字符串。正如@rkaregaran所说,我还强烈建议您在url中使用-(破破号)或_(下划线)。

无论如何,根据我在你的解释,我认为你应该用/phone/cordless而不是phone:cordless。这里的phone似乎是一种分类法。