0

製品を編集すると、クライアント側の検証が機能します。サーバー側の検証も確認したいと思います。他のオブジェクトには次のコードを使用しました。出来た。しかし、商品編集ページでも同じコードを使用しています。それは動作しません:

jQuery(document).ready(function () {
            ...
            if (jQuery('#ProductEditForm').validationEngine('validate')) {
                jQuery.post('/Product/Edit', {
                    ProductId: jQuery('#ProductId').val(),
                    Price: jQuery('#Price').val(),
                    Name: jQuery('#Name').val(),
                    formname: 'Product_Edit_Form',
                    formtype: 'ProductEditF'
                }, function (result) {
                    if (!result.success) {
                      alert(result.error);
                    }
                });
                return false;
            } else {
                return false;
            }
           ...
 });

ProductController で:

[HttpPost]
public ActionResult Edit(Product model)
 {
  var result = //My Edit  operation
  if (result.IsSuccessfull)
  {
   return Json(new { error = "", success = true }, JsonRequestBehavior.AllowGet);
  }
  else
  {
   return Json(new { error = "Error occured!", success = false }, JsonRequestBehavior.AllowGet);
  }
}

結果が成功しなかった場合、アクションは次の行のみを返します。 ここに画像の説明を入力

私のページが失われるのはなぜですか?

4

1 に答える 1

1

あなたが望むのは次のようなものだと思います:

            jQuery.post('/Product/Edit', {
                ProductId: jQuery('#ProductId').val(),
                Price: jQuery('#Price').val(),
                Name: jQuery('#Name').val(),
                formname: 'Product_Edit_Form',
                formtype: 'ProductEditF',
                success: function(){
            alert('success');
      },
      error: function(){
        alert('failure');
      }
            });
于 2013-02-12T19:55:41.330 に答える