Mvc настроить маршруты - PullRequest
0 голосов
/ 04 мая 2018

Я просто хочу настроить маршруты в asp.net mvc, Это блог-сайт, и я хочу получить доступ к методам контроллера, используя

wwww.sitename.com / блог / {BlogTitle}

www.sitename.com / блог / {действие}

Blog Controller

 public class BlogController : Controller
{

  public ActionResult Index(string title)
    {
        return View();
    }



        [Route("post-blog")]
    [HttpPost]
    public ActionResult Post(Blog blog,HttpPostedFileBase blogimage)
    {

        //some coe

    }
    [Route("post-blog")]
    public ActionResult Post()

    {

        if (Request.Cookies["userInfo"]==null)
        {
            return Redirect("/login");
        }

        return View();
    }

}

Вот маршрут Конфиг

  public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        //routes.Canonicalize().Www();
        routes.Canonicalize().Lowercase();




        routes.MapMvcAttributeRoutes();

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "freelogomaker", id = UrlParameter.Optional }
        );


  }

Но я не могу нажать на название действия "Индекс", используя www.site.com/blog/titlename. Но я могу получить доступ к «пост-блог» с помощью www.site.com/blog/post-blog

Пожалуйста, помогите мне, я новичок в asp.net MVC маршрутизации.

1 Ответ

0 голосов
/ 04 мая 2018

Добавьте свой параметр в атрибут маршрута в квадратных скобках {}, чтобы указать, что он должен читаться из URL, а не из чего-то еще (например, тела POST, внедрения зависимостей и т. Д.)

[Route("{title}")]
public ActionResult Index(string title)
{
    return View();
}

Я также хотел бы добавить атрибут RoutePrefix к контроллеру, чтобы сделать его более понятным.

[RoutePrefix("blog")]
public class BlogController : Controller
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...