jQuery远程验证未使用枚举触发

时间:2018-10-09 17:02:42

标签: c# asp.net data-annotations

我有这个枚举

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属性中使用枚举,它将不再起作用。永远不会到达该方法中放置的断点。

你知道为什么吗?

0 个答案:

没有答案