Я пытаюсь изучить маршрутизацию атрибутов MVC 5.
Я включил маршрутизацию атрибутов
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace Vidly
{
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 }
);
}
}
}
Я определил маршрутизацию атрибутов в MoviesController.cs
Файл
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Vidly.Models;
namespace Vidly.Controllers
{
public class MoviesController : Controller
{
// GET: Movies
public ActionResult Random()
{
var movie = new Movie() { Name = "Shrek!" };
//return View(movie);
// return Content("Hello World");
// return HttpNotFound();
//return new EmptyResult();
return RedirectToAction("Index", "Home", new { page = 1, sortBy = "name" });
}
public ActionResult Edit(int id)
{
return Content("id=" + id);
}
[Route("Movies/released/{year}/{month:regex(\\d{2)}")]
public ActionResult ByReleaseYear(int year,int month)
{
return Content(year+"/"+ month);
}
}
}
Тем не менее, я продолжаю получать
Ошибка HTTP 404.0 - Не найдено для таких URL, как
http://localhost:51946/Movies/released/1243/12