Asp.net mvc 2 区域内的行动

Asp.net mvc 2 区域内的行动,asp.net-mvc-2,Asp.net Mvc 2,我在一个区域内有一个母版页,在该区域外有一个控制器。控制器名为“SecurityController”,我正在打电话,正如我在一些帖子中看到的,但这并没有映射到我的“根”控制器。 为/AREANAME/SecurityController/witch's Error生成链接 我做错了什么 谢谢大家。我无法重现您描述的行为。以下是我所做的步骤: 使用默认模板创建新的ASP.NET MVC 2项目 使用Visual Studio向导添加名为AREANAME的新区域 在~/Areas/AREANAME

我在一个区域内有一个母版页,在该区域外有一个控制器。控制器名为“SecurityController”,我正在打电话,正如我在一些帖子中看到的,但这并没有映射到我的“根”控制器。 为/AREANAME/SecurityController/witch's Error生成链接

我做错了什么


谢谢大家。

我无法重现您描述的行为。以下是我所做的步骤:

  • 使用默认模板创建新的ASP.NET MVC 2项目
  • 使用Visual Studio向导添加名为
    AREANAME
    的新区域
  • ~/Areas/AREANAME/Controller/FooController.cs
    中添加一个FooController:

    public class FooController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
    }
    
  • 将母版页从
    ~/Views/Shared/Site.master
    复制粘贴到
    ~/Areas/AREANAME/Views/Shared/Site.master
  • 使用母版页添加一个新的
    索引
    视图,该视图对应于
    FooController
    索引
    操作。将其保留为默认值
  • 在该区域母版页的某个位置添加以下内容(或者在FooController的索引视图中,这并不重要):

    
    
  • 运行站点并导航到
    /AREANAME/foo/index
  • 生成正确的url:
    /
  • 如果删除帮助程序的
    区域=“
    部分,将生成以下url:
    /AREANAME/Home


    那么?

    你好,达林。。。我现在就试试。嗨,达林。。。你的榜样很有魅力!!我会看看我在我的项目中做错了什么。。。告诉你什么时候有结论。谢谢你。。。非常感谢你。我在这个“问题”上浪费了几个小时,但这个问题确实是一个路由问题。我写了一条与某个区域匹配的路由,所以actionlink总是映射我的区域,而不是我的“根”。很抱歉占用您的时间,但您确实在这方面帮助了我;)谢谢
    <%= Url.Action("Index", "Home", new { area = "" }) %>