我已经使用'AdminLte'模板在C#MVC中开发了一个项目,并且将Areas用于子模块。
当我从主页(http://localhost:9760/Home/Index)访问链接时,它的工作原理如下http://localhost:9760/Manage/ChangePassword
但是当我从Area ex访问相同的链接时:'AirSurveillance'http://localhost:9760/AirSurveillance/Manage/ChangePassword,它无法正常工作并给出404错误,因为它试图在“ AirSurveillance”区域中找到“ Manage”控制器(不存在)
这是我自动生成的“ SecurityClearanceAreaRegistration.cs”文件
namespace IIMS.Areas.SecurityClearance
{
public class SecurityClearanceAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "SecurityClearance";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"SecurityClearance_default",
"SecurityClearance/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
}
请帮助我。
答案 0 :(得分:0)
使用区域时,您的链接将需要指定您要指向的控制器/动作的区域。如果要在这些区域之外使用控制器,请指定一个空白区域。例如...
@Html.ActionLink("ChangePassword", "Manage", new { Area = ""})