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;
            }
           ...
 });

在产品控制器中:

[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 回答