0

我如何控制 ActionResult 空参数?我正在尝试对 id 可空但不起作用。

控制器:

public ActionResult Languages(int id)
{
    if(id==null)
    {
      id = 0;
    }
    var query = from n in se.Languages
                orderby n.Language ascending
                select n;
    return View(query.Skip(id * 10).Take(10));
}

全球.ASAX:

    routes.MapRoute(
        null,
        "{controller}/{action}", // URL with parameters
        new { controller = "Home", action = "Languages" } // Parameter defaults
    );

    routes.MapRoute(
        null,
        "{controller}/{action}/page/{id}", // URL with parameters
        new { controller = "Home", action = "Languages", id = UrlParameter.Optional } // Parameter defaults
    );
4

1 回答 1

2

一个int不可为空的尝试

public ActionResult Languages(int? id)

if(!id.HasValue)
    //...

或者有

public ActionResult Languages(int id = 0)

或者您可以在路由中提供默认值

routes.MapRoute(
    null,
    "{controller}/{action}/page/{id}", // URL with parameters
    new { controller = "Home", action = "Languages", id = 0 } // Parameter defaults
);
于 2012-05-15T14:19:48.467 回答