对于下面的控制器,为什么对http://localhost:port/content/about的调用不会传递“about”作为索引控制器的page参数的值?默认路由。显然我不明白路由......
public class ContentController : Controller
{
private IContentService _service;
public ContentController()
{
_service = new ContentService(new ModelStateWrapper(this.ModelState), new ContentRepository());
}
public ActionResult Index(string page)
{
return RedirectToAction("View", new { p = page });
}
public ActionResult Page(string p)
{
ContentPage contentPage = _service.GetPageContent(site, p);
return View(contentPage);
}
}
答案 0 :(得分:1)
默认路由假设您使用以下模式:{action} / {id}。你没有用这个。您需要重新声明您的路线,以便将所有内容发送到“索引”操作并传递“p”参数。
答案 1 :(得分:0)
你在运行IIS6吗?如果是这样,请确保将asp.net isapi dll映射到.mvc扩展名。
路由在上周杀了我,直到我发现了......