public enum Employee
{
FT,
PT,
}
这不起作用
public ActionResult Index(Employee s = Employee.PT)
{
ViewData["Message"] = s.ToString();
return View("MyView");
}
异常详细信息: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'只支持自定义枚举,可选参数(4.0)不支持它吗?
答案 0 :(得分:1)
你可以这样做:
public ActionResult Index(int employeeType)
{
Employee s = (Employee) employeeType;
ViewData["Message"] = s.ToString();
return View("MyView");
}