asp.net mvc4 url​​为seo重写

时间:2013-07-07 09:58:53

标签: asp.net-mvc url url-rewriting asp.net-mvc-routing

用于asp.net MVC4的url重写代码;我在代码中使用了App_Start / RouteConfig.cs。

routes.MapRoute(
name: "subjectSefLink",
url: "{controller}/{seo}/{page}",
defaults: new
{
    controller = "subject",
    action = "Index",
    seo = UrlParameter.Optional,
    page = UrlParameter.Optional
});

我使用Controller;

 public class SubjectController : Controller
{

    public ActionResult Index(string seo, int page)
    {
        return View();
    }

}

但不起作用;未找到代码= 404的输出

1 个答案:

答案 0 :(得分:1)

您必须将int page变量声明为nullable。与路由一样,您已将page变量声明为Optional。所以,控制器中的动作方法应该是这样的

public class SubjectController : Controller
{
    public ActionResult Index(string seo, int? page)
    {
        return View();
    }
}