私はできる限りこのことを説明しようとします。ASP.NET 4.0 URLルーティング - 類似のMapPageRoutes
カテゴリとコンテンツセクションを作成できるCMSを作成しました。両方とも完全に異なるテンプレートを持っていますが、ルーティングするときに同じURLルーティングmapPageRouteパラメータを使用したいと思います。基本的には、エイリアスがカテゴリであるかどうかをチェックする必要があります。
ここがGlobal.asaxの上の私の登録経路である:現在
void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute(
"Home",
string.Empty,
"~/Default.aspx"
);
routes.MapPageRoute(
"Category",
"{*CategoryAlias}",
"~/templates/Category.aspx"
);
routes.MapPageRoute(
"Content",
"{*ContentAlias}",
"~/templates/Content.aspx"
);
}
、カテゴリが正常に動作しますが、私はURLでコンテンツセクションエイリアスを置いたときには、カテゴリを打つと次のルートにスキップしません。試してみる。 Category.aspxとContent.aspx Webフォームは全く異なるビューを持っています。コードの背後も同様ですが、カテゴリテーブル/プロシージャとその他のコンテンツにアクセスします。
もっと詳しい情報が必要な人は、尋ねてください。
ええ、それは、私はURLに余分なパラメータがあることを望んでいません。私はそれがwww.website.com/categoryまたはwww.webiste.com/contentであることを望みます – balexander
* queryvaluesはすべてをキャッチしています。これらのルートマップには、www.website.com/Categoryまたはwww.webiste.com/Content、www.website.com/Category/foo、またはwww.webiste.com/Content/foo/bar?m=rand –
があります。 「プレス」と呼ばれるコンテンツセクションと「ニュース」というカテゴリがあります.Webサイトがwww.website.com/Pressまたはwww.website.com/Newsの場合、最初のテンプレートがfalseの場合は後者のテンプレートに切り替えることがわかりますか? – balexander