我已经在我的MVC3项目中添加了一个新区域,并且试图从_Layout页面链接到新区域。我添加了一个名为“Admin”的区域,该区域具有一个 Controller “Meets”。
我使用了Visual Studio设计器来添加区域,以便它具有正确的区域注册类等,并且global.asax文件正在注册所有区域。
但是,当我在根目录的页面中使用以下2个操作链接时,遇到了一些问题:
@Html.ActionLink("Admin", "Index", "Meets", new { area = "Admin" }, null)
@Html.ActionLink("Admin", "Index", "Meets", new { area = "" }, null)
当单击两个链接时,我将转到“管理”区域中的“ session ” Controller ,然后该应用程序继续引发错误,指出找不到“索引”页面(即使“索引”页面位于“区域” subview 的“ View ”文件夹中,目录。
第一个链接的href如下所示:
http://localhost/BCC/Meets?area=Admin
第二个链接的href如下所示:
http://localhost/BCC/Meets
另外,如果我点击了我希望创建的链接:
http://localhost/BCC/Admin/Meets
我只是得到一个资源找不到错误。一切都很困惑!我希望有人能帮帮忙...
最佳答案
确实很奇怪。这些步骤对我来说效果很好:
Admin
的区域。~/Areas/Admin/Controllers/MeetsController
中添加新 Controller :public class MeetsController : Controller
{
public ActionResult Index()
{
return View();
}
}
~/Areas/Admin/Views/Meets/Index.cshtml
~/Views/Shared/_Layout.cshtml
)中添加链接:@Html.ActionLink("Admin", "Index", "Meets", new { area = "Admin" }, null)
@Html.ActionLink("Admin", "Index", "Meets", new { area = "" }, null)
anchor 的渲染HTML:
<a href="/Admin/Meets">Admin</a>
<a href="/Meets">Admin</a>
如预期的那样,第一个链接有效,而第二个则无效。
那么您的设置有什么区别?