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 で説明されているコンポーネントの区切り文字として使用されます。

また、Uniform Resource Identifier (URI): Generic Syntax

于 2013-07-09T12:08:00.837 に答える