区域中的路由属性 [英] Routing attribute in area

查看:72
本文介绍了区域中的路由属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我想在区域使用路线属性,但我不能。



它是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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆