【发布时间】:2011-09-14 01:48:00
【问题描述】:
我是 MVC 新手,如果这是一个菜鸟问题,我很抱歉:
我正在 global.asax 中设置一些自定义路由。
routes.MapRoute(
"Choose_your_dvd_Index",
"Choose-your-dvd",
new { controller = "DVD", action = "Index" }
);
routes.MapRoute(
"Choose_your_dvd",
"Choose-your-dvd/{categoryName}",
new { controller = "DVD", action = "Category" }
);
具体来说,我将“Choose-you-dvd/{categoryName}”映射到我的 DVD 控制器, 我有以下查看结果,以及默认的“选择您的 DVD”页面。
public ViewResult Category(string categoryName)
{
var category = (db.Categories.Where(i => i.Name == categoryName).FirstOrDefault()) ?? null;
if (category != null)
return View(category);
return RedirectToRoute("Choose_your_dvd_Index");
return View() ;
}
如果用户输入了无效的类别名称,我想将用户重定向到“Choose-your-dvd”吗? (即浏览器中的 URL 发生变化)
谢谢!
【问题讨论】:
-
好的,我已经解决了!更改为 ActionResult,它起作用了! (丢失了第二个“return View()”!)
-
你应该添加你自己的答案。
标签: model-view-controller asp.net-mvc-3 routing