0

ActionResult の null パラメータを制御するにはどうすればよいですか?

コントローラ:

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

intnull 不可の試行

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 に答える