0

目标:

调用一个动作并显示一条消息以显示结果“成功/错误”,

问题:

实际上,我知道如何使用 JQuery 来做到这一点,但我不知道这是否是最好的方法,

?? 我想知道从服务器端做所有这些是否会更好,我的意思是只调用一个 ActionLink 然后执行一个 javascript 或从服务器返回一条消息。

代码: MVC3 C#

看法:

    $('#btnValidate')
        .click(function(e) {
         $.ajax({
            url: "/Valoration/ValidateHvm" ,
            type: "POST",
            success: function(data, status, xhr) {
                           if(data.success){
                                 alert('success');
                           }else{ 
                                 alert('error');
                      },
            error: function(xhr, status, err) {
                alert('error');
            }
        });

     });

控制器:

[HttpPost]
    public ActionResult ValidateHvm()
    {
        var result = HvmService.ValidateProject;
        return Json(new { success = result});
    }
4

1 回答 1

0

您的实现没有任何问题,这对我来说似乎是最好的方法,但另一种方法是您可以使用 ModelState.AddModelError() 如果您愿意,但您的操作结果将需要使用模型重新显示视图

所以你发帖会接受模型

[HttpPost]
public ActionResult ValidateHvm(ValidateModel model)
{
    var result = HvmService.ValidateProject(model);

    if(result == false){ //or whatever

       ModelState.AddModelError("","Error");

    }


        return View("MyView", model)
}
于 2012-12-05T12:11:08.433 回答