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 に答える