是否可以将通用模型从 ajax 调用传递给 JsonResult 操作?
我正在创建一个 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 中的此操作处理。
[HttpPost]
public ActionResult ValidateModel(CustomModel model)
{
if (!ModelState.IsValid)
{
// code remove for brevity
}
return Json(customObject, JsonRequestBehavior.DenyGet);
}
如果我将传递带有 CustomModel 对象的表单,则自动绑定工作得很好。我想在服务器上创建一个通用处理程序来验证模型。我想用这样的东西来实现它:
public ActionResult ValidateModel(GenericModel model)
{
}
这样我就可以在服务器上传递具有不同模型类型的不同表单。
谢谢!
I'm creating a javascript function that will invoke ajax call to validate the model of a form.
function ValidateModel(formID) {
$.ajax({
url: '/Custom/ValidateModel',
type: 'POST',
data: $('#' + formID).serialize(),
dataType: 'json',
processData: false,
success: function (data) {
// code remove for brevity
}
});
}
That will be handled by this Action in the CustomController
[HttpPost]
public ActionResult ValidateModel(CustomModel model)
{
if (!ModelState.IsValid)
{
// code remove for brevity
}
return Json(customObject, JsonRequestBehavior.DenyGet);
}
If I will pass a form with CustomModel object the auto binding works just fine. What I want to create is a generic handler on the server to validate the model. I want to achieve it with something like this:
public ActionResult ValidateModel(GenericModel model)
{
}
so that when I can pass different forms with different model types on the server.
thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用所有模型都实现并具有的接口吗?
您可以传递实现 IViewModel 接口的任何模型。
或者也许您可以使用抽象基类?
Could you use an interface that all your models implement and have
You'd be able to pass any model that implements the IViewModel interface.
Or maybe you could use an abstract base class?