ASP.NET MVC 2 Url Формат Проблема - PullRequest
       1

ASP.NET MVC 2 Url Формат Проблема

0 голосов
/ 10 августа 2010

У меня есть контроллер посетителей.Внутри у меня есть действия Index и SignIn.Вот действия:

  public ActionResult Index(int month,
                              int day,
                              int year){

        var visitors = visitorRepoistory.FindVisitorsByDate(month, day, year).ToList();

        return View("Index", visitors);
    }

    [HttpPost]
    public ActionResult SignIn(Visitor visitor) {
        if (ModelState.IsValid) {
            visitorRepoistory.Add(visitor);
            visitorRepoistory.Save();
            return RedirectToAction("/", new { month = DateTime.Now.Month, day = DateTime.Now.Day, year = DateTime.Now.Year });
        } else {
            return View(new VisitorFormViewModel(visitor));
        }
    }

Более конкретно, я пытаюсь понять RedirectToAction () в SignIn ().Я бы хотел, чтобы он перенаправлялся на мои действия с индексом, и чтобы URL выглядел следующим образом: ... / 08/10/2010, но вместо этого я получаю:? Month = 8 & day = 10 & year = 2010.Как я могу это исправить?

Спасибо.

Обновление Вот мой маршрут (Когда он жестко задан в URL, он работает):

 routes.MapRoute(
            "VisitorsByDate", // Route name
            "{controller}/{month}/{day}/{year}", // URL with parameters
            new { controller = "visitors", action = "index"}, // Parameter defaults
            new { month = @"\d{2}", day = @"\d{2}", year = @"\d{4}" }
        );

1 Ответ

0 голосов
/ 10 августа 2010

Есть ли у вас маршрут, который соответствует этим значениям значениям маршрута?Если у вас нет подходящего маршрута, .NET MVC покажет ваши параметры в формате старой школы (??), а не в хорошем пути, например /home/blog/8/10/2010

routes.MapRoute("Visitor_Routes",  
                "{controller}/{action}/{month}/{day}/{year}", 
                new {  
                      controller = "Blog", 
                      action = "archive", 
                      year = Urlparameter.Optional, 
                      month = Urlparameter.Optional, 
                      day = Urlparameter.Optional
                    }); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...