2013-07-09 47 views
1

我有一个问题:逗号网址显示为%2C%

我的路线如下:

_routes.MapRoute(
    "VideoWithQualitySystem", 
    "videolar/{category},{subject},{sicknes},{tags},{gender},{hospital},{medicalCenter},{doctors}", 
    new { controller = "Video", action = "VideoList" }, 
    new { 
     category = new CategoryConstraint(), 
     subject = new SubjectConstraint(), 
     sicknes = new SicknessesConstraint(), 
     tags = new TagsConstraint(), 
     gender = new GenderConstraint(), 
     hospital = new CompanyContraint(), 
     medicalCenter = new MedicalCenterConstraint(), 
     doctors = new DoctorConstraint() }); 

你能在这条路线看问题呢?当我在URL中输入“,”时,我的路线不起作用。并显示我的逗号为“%2C%

+0

说明没有使用,我们不能看到你的问题,请把它定义... – Usman

+1

不能使用/的'''而不是'? – Satpal

+0

“逗号”是url参数的一部分/使用。使用其他符号。 – Aristos

回答

2

,是保留按我的理解,所以我建议你不要使用它。

URI RFC

2.2。保留字符

许多URI这些字符被称为“保留”,因为 它们在URI组件中的使用限于它们的保留 的用途。如果URI组件的数据nt会与 保留目的发生冲突,那么冲突数据必须在 形成URI之前转义。

reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | 
       "$" | "," 

的“保留”上面的语法类是指那些允许 一个URI内的字符,但其可能不通用URI语法的 特定组件内被允许;它们被作为组件的 分隔符在第3节

而且Uniform Resource Identifier (URI): Generic Syntax

+0

Okey我的网址如下: www.example.com/ videos/category1,category2,category3/sex/hospital/doctor 但是在我的url category1和category2和category3中(可能是1或太多)可以为null/empty 。还有性或医院或医生也可以为空。我怎样才能做到这一点。 – fuat