ASP.NET MVCルーティングとエリア
-
06-07-2019 - |
質問
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
エリアを作成しました。それぞれのビューでコントローラーを作成しましたが、取得できないように見えるルーティングです。そのようなルーティングをどのように達成するかについてのアドバイスはありますか?
これは一部の人にとっては非常に簡単かもしれませんが、基本的なものを超えた例を見つけるのにあまり運がありませんでした。
ありがとう!
質問への追加(10/25/2009) 基本的に、エリアのAreaRegistrationクラスでどのルートとどの順序でセットアップするかを尋ねていますか?これまでに述べたすべてを実行しましたが、結果はありません。
解決
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 = "" }
);
}
}
}
他のヒント
http://haacked.com/archive/2009 /07/31/single-project-areas.aspx
routes.MapAreaRoute("Forums", "admin_area", "admin/{controller}/{action}/{id}", new { controller = "apples", action = "search", id = "" }, new string[] { "Project.Areas.Admin.Controllers" });
所属していません StackOverflow