我有这个枚举
public enum EntityType
{
TypeA, TypeB //etc...
}
主视图模型是
public class MainViewModel
{
public EditModalView EditModalView {get;set;}
}
最后
public class EditEntityModalView
{
[Required]
[Remote("TestValidation", "Defaults", HttpMethod = "POST", AdditionalFields = "EntityType")]
public string Name { get; set; }
public EntityType EntityType { get; set; }
}
例如,我可以像这样在控制器中初始化MainViewModel
:
MainViewModel MainViewModel= new MainViewModel();
MainViewModel.EditEntityModalView = new EditEntityModalView();
MainViewModel.EditEntityModalView.EntityType = EntityType.TypeA;
Return View(MainViewModel)
现在,我要执行以下远程验证:
[HttpPost]
public JsonResult TestValidation(string Name,EntityType EntityType)
{
//Here just return false to test
return Json(false, JsonRequestBehavior.AllowGet);
}
如果我这样做:
[Remote("TestValidation", "Defaults", HttpMethod = "POST")]
public string Name { get; set; }
具有以下方法定义:
public JsonResult TestValidation(string Name)
一切都很好。
但是,如果我想如上所述在remote属性中使用枚举,它将不再起作用。永远不会到达该方法中放置的断点。
你知道为什么吗?