是否可以将通用模型从ajax调用传递给JsonResult操作?

时间:2011-08-25 13:19:57

标签: asp.net-mvc-3 model-binding asp.net-mvc-ajax

我正在创建一个javascript函数,它将调用ajax调用来验证表单的模型。

function ValidateModel(formID) {
    $.ajax({
        url: '/Custom/ValidateModel',
        type: 'POST',
        data: $('#' + formID).serialize(),
        dataType: 'json',
        processData: false,
        success: function (data) {

        // code remove for brevity  

        }
    });
}

这将由CustomController中的Action处理

[HttpPost]
    public ActionResult ValidateModel(CustomModel model)
    {          
            if (!ModelState.IsValid)
            {
                 // code remove for brevity
            }
            return Json(customObject, JsonRequestBehavior.DenyGet);

    }

如果我将使用CustomModel对象传递一个表单,则自动绑定工作正常。我想要创建的是服务器上用于验证模型的通用处理程序。我想用这样的东西实现它:

public ActionResult ValidateModel(GenericModel model)
{

}

这样当我可以在服务器上传递具有不同模型类型的不同表单时。

谢谢!

1 个答案:

答案 0 :(得分:1)

您是否可以使用所有模型实现并具有

的界面
public ActionResult ValidateModel(IViewModel model)
{

}

您将能够传递任何实现IViewModel接口的模型。

或许您可以使用抽象基类?