ASP.Net 4.0がインストールされ、Web Pages2.0DLLビンが展開されたWebサーバー。cshtml / razorで記述されたページですが、ルーティングが機能していません。
フルMVC(global.asaxでルートを定義する場合)ではなく、Webページのみを使用する場合にルーティングをアクティブ化するためにサーバーで何が必要ですか?
現在、従来のURLとクエリ文字列を使用してのみページを呼び出すことができます。
どんなポインタでもありがたいです。
ASP.Net 4.0がインストールされ、Web Pages2.0DLLビンが展開されたWebサーバー。cshtml / razorで記述されたページですが、ルーティングが機能していません。
フルMVC(global.asaxでルートを定義する場合)ではなく、Webページのみを使用する場合にルーティングをアクティブ化するためにサーバーで何が必要ですか?
現在、従来のURLとクエリ文字列を使用してのみページを呼び出すことができます。
どんなポインタでもありがたいです。
Webフォームアプリケーション
Global.asax
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("",
"Category/{action}/{categoryName}",
"~/categoriespage.aspx");
}
MVCアプリケーション
Global.asax
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
}
詳細については :
これがお役に立てば幸いです。
Webページフレームワークで使用できる「ルーティング」には2種類あります。デフォルトのルーティングは、URLをファイルパスに一致させる場合に機能します。辞書に追加のURLセグメントを追加できるという点で非常に柔軟性があり、UrlData
SEOに適した優れたURL構築を可能にします。私はそれについてここに書いています:WebMatrix-URL、UrlData、SEOのルーティング。
2番目の種類のルーティングはMVCで使用可能なルーティングに似ており、パッケージをインストールする必要があります:Webページのルーティング。これをインストールしたらRouteCollection
、_AppStart.cshtmlファイル(自分で作成する必要があります)にデータを入力するか、global.asaxにデータを入力できますApplication_Start
。ファイルの追加を選択したときに[ファイルの種類の選択]ダイアログで[すべて]オプションを選択すると、global.asaxファイルを追加できます。
ルーティングパッケージの使用方法を知りたい場合は、それについても書いています:ASP.NETWebページのより柔軟なルーティング