自定义enum作为可选参数
本文关键字:参数 enum 自定义 | 更新日期: 2023-09-27 18:08:05
public enum Employee
{
FT,
PT,
}
这行不通
public ActionResult Index(Employee s = Employee.PT)
{
ViewData["Message"] = s.ToString();
return View("MyView");
}
Exception Details: System。ArgumentException:参数字典包含方法参数"s"的无效条目"System.Web.Mvc.ActionResult指数(SampleControllerEx.Controllers.Employee)"SampleControllerEx.Controllers.HomeController"。字典包含一个"System"类型的值。Int32',但是参数需要a类型"SampleControllerEx.Controllers.Employee"的值。参数参数名称:
public ActionResult Index([DefaultValue(Employee.PT)] Employee s)
{
ViewData["Message"] = s.ToString();
return View("MyView");
}
我可以知道为什么'DefaultValue'只支持自定义enum,其中可选参数(4.0)不支持它?
您可以这样做:
public ActionResult Index(int employeeType)
{
Employee s = (Employee) employeeType;
ViewData["Message"] = s.ToString();
return View("MyView");
}