私はASP.NET WebFormsとC#で作業しています。 異なるページのルートを追加しようとしています。これは、私のglobal.asaxからのサンプルコードであり、ルートを登録します。ASP.NETで処理するルート
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
//AppSettings = AppConfig.AppSettings.Settings;
//ConSettings = AppConfig.ConnectionStrings.ConnectionStrings;
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.Add("Admin_Users_Update", new Route("Admin/Users/Update/{UserId}", new RoutingHandler("~/Forms/Admin/Users/UpdateUser.aspx")));
}
これは問題なく動作します。/Admin/Users/Update/1のようなURLを開くと、編集フォームがうまく開きます。 しかし、パターンに従わない、または変更しないと問題が起きます。我々は
/Admin/Users/Update/1/2
または
/Admin/Users/Update/
を入力した場合と同じように、それは単に、404ページが表示されます。
どうすれば対応できますか?そのため、URLパターンの違いがほとんどない場合は、それを処理できるはずです。
これをどのように達成できますか? "ルーティングをスキップし、リクエストを聞いてパイプラインに座って自分で処理する独自のHTTPモジュールを使用します。" – Riz
この記事では、カスタムhttpモジュールを使用して独自のルーティングを処理する方法について説明します。 "look for"セクションでいくつかの基本パターンを指定し、モジュールでそれを検索し、必要に応じてマッサージすることができます。 http://msdn.microsoft.com/en-us/library/ms972974.aspx –