2

ASP.Net 4.0がインストールされ、Web Pages2.0DLLビンが展開されたWebサーバー。cshtml / razorで記述されたページですが、ルーティングが機能していません。

フルMVC(global.asaxでルートを定義する場合)ではなく、Webページのみを使用する場合にルーティングをアクティブ化するためにサーバーで何が必要ですか?

現在、従来のURLとクエリ文字列を使用してのみページを呼び出すことができます。

どんなポインタでもありがたいです。

4

2 に答える 2

3

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フォームでルーティングを使用する

ASP.NETルーティングがIIS7.0で機能しない

ASP.NETMVC3をIIS6に展開する

IISURL書き換えとASP.NETルーティング

ASP.NETルーティング

これがお役に立てば幸いです。

于 2012-12-18T16:16:22.507 に答える
1

Webページフレームワークで使用できる「ルーティング」には2種類あります。デフォルトのルーティングは、URLをファイルパスに一致させる場合に機能します。辞書に追加のURLセグメントを追加できるという点で非常に柔軟性があり、UrlDataSEOに適した優れたURL構築を可能にします。私はそれについてここに書いています:WebMatrix-URL、UrlData、SEOのルーティング

2番目の種類のルーティングはMVCで使用可能なルーティングに似ており、パッケージをインストールする必要があります:Webページのルーティング。これをインストールしたらRouteCollection、_AppStart.cshtmlファイル(自分で作成する必要があります)にデータを入力するか、global.asaxにデータを入力できますApplication_Start。ファイルの追加を選択したときに[ファイルの種類の選択]ダイアログで[すべて]オプションを選択すると、global.asaxファイルを追加できます。

ルーティングパッケージの使用方法を知りたい場合は、それについても書いています:ASP.NETWebページのより柔軟なルーティング

于 2012-12-19T10:40:11.667 に答える