1

我有问题:

我的路线如下:

_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%

4

1 回答 1

2

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

URI RFC

2.2. 保留字符

许多 URI 包括由某些特殊字符组成或由某些特殊字符分隔的组件。这些字符被称为“保留”,因为它们在 URI 组件中的使用仅限于它们的保留用途。如果 URI 组件的数据与保留的用途发生冲突,则必须在形成 URI 之前对冲突数据进行转义。

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

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

统一资源标识符 (URI):通用语法

于 2013-07-09T12:08:00.837 回答