Asp.net mvc 4 URL中的特殊字符

Asp.net mvc 4 URL中的特殊字符,asp.net-mvc-4,Asp.net Mvc 4,我正在开发一个ASP.NET MVC应用程序。 此应用程序显示有关产品的详细信息 产品名称可以有任何特殊字符,如单引号、百分比符号、注册符号、带有圆圈和“R”的符号、商标符号等 目前所有这些都替换为“-”。 如果名称是这样的: 超级男式100%涤纶针织衬衫 在URL中显示如下所示: 8080/super---men-s-100-polyester-knit-shirts/maverick - men-s-100-polyester-knit-shirts 这是在Js中完成的,如下所示: Na

我正在开发一个ASP.NET MVC应用程序。 此应用程序显示有关产品的详细信息

产品名称可以有任何特殊字符,如单引号、百分比符号、注册符号、带有圆圈和“R”的符号、商标符号等

目前所有这些都替换为“-”。 如果名称是这样的:

超级男式100%涤纶针织衬衫

在URL中显示如下所示:

8080/super---men-s-100-polyester-knit-shirts/maverick
 - men-s-100-polyester-knit-shirts
这是在Js中完成的,如下所示:

Name.replace(/([~!@#$%^&*()_+=`{}\[\]\|\\:;'"<>,.\/? ])+/g, '-').replace(/^(-)+|(-)+$/g, '');
Name.replace(/([~!@$%^&*())=`{}\[\\]\\\\\\\\:;',.\/?]+/g,'-')。replace(/^(-)+\\(-)+$/g',);
所以问题是,该名称是否应按URL中的原样显示? 如果是,请给我一些提示。 如果没有,请提供一些有效的理由,如今天遵循的标准,这将有助于我把这一点摆在桌面上


问候。

简单的答案是不要摆弄它。它的好坏取决于它的包装

Url只能包含少量字母数字字母。这基本上意味着您只能有0-9个a-z和-。~

所有其他字符都需要编码。现在您也可以使用阿拉伯语url了,它变得有点复杂了

但假设你的网站是印欧语系的,就是这样。所以你永远无法在你的url中有完整的产品名称

将它们重命名为更酷的名称,如在url中用“百分比”替换%可以使desaster出现在您的url上,因为在某些情况下,“假”名称可能不是唯一的,因此最终导致不可靠的路由

查看

可能重复的