我正在開發這個項目,我需要一個管理員區域。 我有路由工作,所以如果我手動輸入URL我可以得到控制器和索引頁面:「http://localhost:8000/Admin/Admin」,但我如何鏈接到它使用標籤助手(或actionLink)從原來的家庭控制器和索引頁?如何使用ASP.NET 5.0和MVC 6中的標籤助手鍊接到另一個區域中的控制器
我已經試過(其中沒有工作)是:
<a asp-controller="Admin" asp-action="Index">Admin</a>
<a asp-route="areaRoute"asp-controller="Admin" asp-action="Index">Admin</a>
我是很新,這使我很抱歉,如果這是一個簡單的問題,但我不知道,我還沒有在網上看到這個例子。
我遵循了與本示例(步驟1)相同的地圖結構:http://timjames.me/blog/2014/12/13/mvc-areas-with-vnext/ 但我有「Admin」而不是「MyArea」。
這是我在管理區域控制器:
namespace projectName.Areas.Admin.Controllers
{
[Area("Admin")]
public class AdminController : Controller
{
public IActionResult Index()
{
return View();
}
}
}
這是我的路由:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areaRoute",
template: "{area:exists}/{controller}/{action}/{id?}",
defaults: new { controller = "Admin", action = "Index" });
routes.MapRoute(
name: "Default",
emplate: "{controller}/{action}/{id?}",
defaults: new { controller = "Account", action = "Login" });
});
然而,你的模板仍然是模板:「{area:exists}/{controller}/{action}/{id?}」,並且仍然需要區域,並且路由不需要控制器和操作。 –