0

用于 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
});

我使用控制器;

 public class SubjectController : Controller
{

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

}

但不起作用;代码的输出= 404 not found

4

1 回答 1

1

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

public class SubjectController : Controller
{
    public ActionResult Index(string seo, int? page)
    {
        return View();
    }
}
于 2013-07-08T08:17:49.293 回答