假設控制器方法引數型別是int:
public ActionResult GetSth(int id) { return Content(id.ToString()); }
而檢視傳遞過來的是字串:
@Html.ActionLink("獲取","GetSth",new {id="hello"})
於是就會報類似如下的錯:
對於“MvcApplication3.Controllers.HomeController”中方法“System.Web.Mvc.ActionResult GetSth(Int32)”的不可以為 null 的型別“System.Int32”的引數“id”,引數字典包含一個 null 項。可選引數必須為引用型別、可以為 null 的型別或宣告為可選引數。
引數名: parameters
解決方法一:允許引數可以為null
public ActionResult GetSth(int? id) { return Content(id.ToString()); }
解決方法二:給引數賦預設值
public ActionResult GetSth(int id=1) { return Content(id.ToString()); }