Kaan Öztürk Ответов: 1

Атрибут маршрутизации в области


Привет ребята,
Я хочу использовать атрибут маршрута в области, но не могу.

это 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"}
           );

       }
   }



Область / Менеджер / 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 URL-адрес страницы должен быть "/менеджер/университет/BuildingAdd/5" или "/менеджер/университет/BuildingAdd"

но я получил ошибку "источник не удалось найти".

Что я уже пробовал:

.................................................

1 Ответов

Рейтинг:
10

Nathan Minier

Ваш RouteArea переопределяет конфигурацию маршрута по умолчанию (имя контроллера), когда вы переходите от соглашения к атрибутивной маршрутизации.

Попробуйте " / Manager / BuildingAdd/5"


Karthik_Mahalingam

5