0

過去に MediaWiki の開発を行っており、Wiki 形式に似たルートを作成することに興味があります{namespace}:{article}

私の作品をテストしている最中ですが、URL パターンで問題が発生しています。

routes.MapRoute(
    name: "Generic" ,
    url: "{controller}:{name}" ,
    defaults: new {
        controller = "Article" ,
        action = "View" ,
        name = "Home"
    } ,
    constraints = new {
        name = @"^[\w]+$"
    }
);

現在、問題はコロン:です。URLが必要な方法で機能するためには、URLにコロンを付けて解析する必要があります。

この MapRoute は、私がこれまでに持っている唯一のルートでもあります。

MVC の MapRoute を作成して、コロン表記を省略可能にし、デフォルトで Article Controller にする方法を考えていました。

4

1 に答える 1

1

デフォルトルートの上に置くだけです。

ルートは、追加された順序でナビゲートされます。したがって、このルートをデフォルト ルートのに配置すると、最初に URL に対してテストされます。失敗すると、次のルートがテストされます。

// Your route here

// Default route here

オプションにする必要がある場合は、2 つのルートを指定する必要があります。それらをチェックしたい順序に並べ、デフォルトルートが一番下にあることを確認してください。デフォルト ルートは、失敗した場合の「フォールバック」として機能します。

これには制約を使用できません。オプションのコロン文字を解決する方法はありません。つまり、ルーティング エンジンは、「HomeGoldBishop」などの文字列からコントローラーと「名前」を推測できません。一方、「 」から推測できHome:GoldBishopます。デフォルトルートのように、フォールバックするものが常に必要になります。

于 2013-12-01T23:32:40.050 に答える