2
public enum Employee
{
FT,
PT,
}
這不起作用自定義枚舉作爲可選參數
public ActionResult Index(Employee s = Employee.PT)
{
ViewData["Message"] = s.ToString();
return View("MyView");
}
異常詳細信息:System.ArgumentException:參數字典 包含參數「S」的方法 「系統的無效項.Web.Mvc.ActionResult 索引(SampleControllerEx.Controllers.Employee)'in 'SampleControllerEx.Controllers.HomeController'。字典 包含類型'System.Int32'的值,但該參數需要類型爲'SampleControllerEx.Controllers.Employee'的 值。參數 名稱:參數
但低於一個作品,
public ActionResult Index([DefaultValue(Employee.PT)] Employee s)
{
ViewData["Message"] = s.ToString();
return View("MyView");
}
能告訴我爲什麼「默認值」只支持自定義枚舉,其中可選參數(4.0)不支持呢?
聽起來像是你的路由是錯誤的。 – leppie 2013-04-09 06:26:02
@leppie DefaultValue使用相同的路由。爲什麼不能.net 4.0選項正常工作? – 2013-04-09 06:32:08
使參數爲空可能更容易。如果你要解決的參數可以使用'if((s ?? Employee.PT)== Employee.PT){//一些代碼}' – Silvermind 2013-04-09 09:01:28