0

ライブラリで定義されたコントローラーがあります。3 つのエリアのいずれかからこのコントローラーにアクセスできるようにしたいと思います。現時点では、たとえば「管理」領域 (つまり、/admin/contact の URL) からアクセスしたときに、コントローラー (「連絡先」としましょう) が見つかりません。ただし、「/contact」経由でアクセスすると機能します。

これらのエリアを介して共通コントローラーのアクセスを許可するために、エリアに必要なルート構成はありますか?

ありがとう。

4

1 に答える 1

1

このコントローラーを名前空間に配置できます。

namespace MvcApplication1.Controllers.MyAreas
{
    public class ContactsController : Controller
    {
        ...
    }
}

次に、エリア登録でこの名前空間を指定します。

public override void RegisterArea(AreaRegistrationContext context)
{
    context.MapRoute(
        "Admin_default",
        "Admin/{controller}/{action}/{id}",
        new { action = "Index", id = UrlParameter.Optional },
        new[] { "SomeLibrary.Controllers.MyAreas" }
    );
}

/admin/contacts/indexIndexアクションに移動すると、ContactsController実行されます。

于 2012-10-15T10:40:48.713 に答える