【发布时间】:2010-08-10 16:25:33
【问题描述】:
我有一个访客控制器。在里面我有索引和登录操作。以下是操作:
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));
}
}
更具体地说,我试图理解 SignIn() 中的 RedirectToAction()。我想让它重定向到我的索引操作并让 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}" }
);
【问题讨论】: