区域中的路由属性 [英] Routing attribute in area
本文介绍了区域中的路由属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,
我想在区域使用路线属性,但我不能。
它是RouteConfig.cs
Hi guys,
I want to use route attribute in area but i could not.
it's RouteConfig.cs
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, namespaces: new[] {"OgrenciEvi.Controllers"}
);
}
}
区域/ Manager / UniversityController;
Area/Manager/UniversityController;
[RouteArea("Manager")]
public class UniversityController : Controller
{
SiteContext db = new SiteContext();
// GET: Manager/University
[Route("BuildingAdd/{UniID?}")]
public ActionResult BuildingAdd(int UniID)
{
ViewBag.UniList = new SelectList(db.University, "UniID", "UniName");
return View();
}
[HttpPost]
public ActionResult BuildingAdd(BuildingModel NewBuilding)
{
if (Request.Form["btnSave"] != null)
{
if (ModelState.IsValid)
{
db.Building.Add(NewBuilding);
db.SaveChanges();
}
}
return RedirectToAction("BuildingAdd", "University", new { uniid = NewBuilding.UniID});
}
}
BuildingApp页面的网址应为/ Manager / University / BuildingAdd / 5或/经理/大学/建筑添加
但我得到源无法找到错误。
我的尝试:
.................. ...............................
BuildingApp page's url should be "/Manager/University/BuildingAdd/5" or "/Manager/University/BuildingAdd"
but I got "Source could not find" error.
What I have tried:
.................................................
推荐答案
您的RouteArea当您从常规路由移动到属性路由时,将覆盖默认路由配置(控制器名称)。
尝试/ Manager / BuildingAdd / 5
Your RouteArea is overriding the default route config (the controller name) when you move from convention to attributed routing.
Try "/Manager/BuildingAdd/5"
这篇关于区域中的路由属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文