0

コードを整理するための新しいエリアをほとんど作成しませんでした。しかし、現在、「ベース」または「ルート」インデックスページから新しいエリアページに実際にリンクするのに問題があります。

@Html.ActionLink("Tube Record Form", "BearingAssemblyForm", "_HiCT", new { area = "HICT" }, null)

 public class HICTAreaRegistration : AreaRegistration
{
    public override string AreaName
    {
        get
        {
            return "HICT";
        }
    }

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "HICT_default",
            "HICT/{controller}/{action}/{id}",
            new {controller = "_HiCT", action = "BearingAssemblyForm", id = UrlParameter.Optional }
        );
    }
}

リソースが見つかりません。そしてそれは間違ってリンクされているようです

要求されたURL:/ HICT / HiCT / BearingAssemblyForm
コントローラー:HiCT、ビュー/アクション:BearingAssemblyForm、エリア:HICT。

どうすればいいですか?

どうもありがとう。

4

4 に答える 4

1

これを試して:

@Html.ActionLink("LinkText",
        "ActionName",
        "ControllerName",
        new { area = "HICT" }, null)

@Html.ActionLink正しいメソッドオーバーロードを使用していないと思います。

まず、お住まいの地域が正しく登録されているかどうかを確認してください。

public class Routes : AreaRegistration
{
    public override string AreaName
    {
        get
        {
            return "HICT";
        }
    }

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "HICT_default",
            "HICT/{controller}/{action}/{id}",
            new { controller = "_HiCT", action = "BearingAssemblyForm", id = UrlParameter.Optional }
    );
}

ファイルRegisterAllAreas内で呼び出していることを確認してください。Global.asax.cs

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();

    ...
}
于 2012-08-06T17:07:50.403 に答える
0

/ Master / BearingAssemblyForm

通常、マスターがコントローラーで、2番目の部分がアクションであるため、コントローラー名がルートと異なるようです。

于 2012-08-06T17:06:50.503 に答える
0

あなたは呼んでいますか:

AreaRegistration.RegisterAllAreas();

Application_StartGlobal.asaxでオンにしますか?カッシーニ、IISExpress、IISの開発にどのサーバーを使用していますか?

より詳細な情報を確認してから編集してください。

このコードをお持ちの場合は、管理エリア登録ファイルに

context.MapRoute(
    "Admin_default",
    "Admin/{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional },
    new string[] { "CoolProject.Web.Areas.Admin.Contollers" }
);

タイプミスがあると思いますが、そうあるCoolProject.Web.Areas.Admin.ContollersべきCoolProject.Web.Areas.Admin.Controllersですか?

于 2012-08-06T17:10:06.550 に答える
0

それはワイルでしたが、これはうまくいくはずです。

@Html.ActionLink("Tube Record Form", "action", "Area/controller")
于 2012-08-06T17:12:33.043 に答える