13

私はASP.NET MVC 2 Preview 2をいじっていて、ルーティングがエリアなどでどのように機能するかを理解しようとしています。エリアの単一プロジェクト実装では、「admin」という名前のエリアが必要です。

私はこのようなURLを持つことができるようにしようとしています:

(root)/admin/apples/search
(root)/admin/apples/edit/3
(root)/admin/apples/add
(root)/admin/oranges/search
(root)/admin/oranges/edit/5
(root)/admin/oranges/add
(root)/admin

エリアを作成しました。それぞれのビューで作成されたコントローラーがありますが、取得できないように見えるのはルーティングです。そのようなルーティングをどのように達成するかについてのアドバイスはありますか?

これは一部の人にとっては非常に単純かもしれないと確信していますが、基本的なものを超える例を見つけるのにあまり運がありませんでした.

ありがとう!

質問への追加 (2009 年 10 月 25 日) 私は基本的に、Area の AreaRegistration クラスでどのルートをどの順序で設定するかを尋ねています。これまでに述べたすべてのことを行いましたが、結果はありませんでした。

4

2 に答える 2

27

1 つのプロジェクトにエリアを登録する

routes.cs ファイルを管理領域フォルダーに追加する必要があります。

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcAreasSingleProject.Areas.Admin
{
    public class Routes : AreaRegistration
    {
        public override string AreaName
        {
            get { return "admin"; }
        }

        public override void RegisterArea(AreaRegistrationContext context)
        {
            context.MapRoute(
                "admin_default",
                "admin/{controller}/{action}/{id}",
                new { controller = "Admin", action = "Edit", id = "" }
            );
        }
    }
}
于 2009-10-25T10:21:51.883 に答える
0

http://haacked.com/archive/2009/07/31/single-project-areas.aspx

routes.MapAreaRoute("フォーラム",
        "admin_area",
        "admin/{controller}/{action}/{id}",
        new { controller = "りんご", action = "検索", id = "" },
        新しい文字列[] { "Project.Areas.Admin.Controllers" });
于 2009-10-25T06:33:00.937 に答える