2013-03-26 244 views
0

我想從控制器傳遞int值,並檢查$ .ajax中的值是否大於0。我不知道該怎麼做。我試過了一個代碼,但它給了我一個未定義的值。控制器中的數據正在正常工作。但回國沒能做到:

AJAX代碼int值:

function bindForm(dialog,urlString) { 
    $('form', dialog).submit(function() { 
    var data_send = $(this).serializeArray(); 
    $.ajax({ 
     url: urlString, 
     type: this.method, 
     data: $(this).serialize(), 
     success: function (result) { 
     alert(result.success); 
     if (parseInt(result.success, 10) > 0) { 
      alert('Details Added Successfully'); 
      $('#dialog-form').dialog('close'); 
      var hdnInvoiceId = document.getElementById("Invoice_Id"); 
      hdnInvoiceId.value = parseInt(result.success, 10); 
      $('#addInvoiceDetail').hide(); 
      } else { 
      alert('Please Re-enter Details'); 
      bindForm(); 
      } 
     } 
    }); 
    return false; 
}); 

控制器代碼:

[HttpPost] 
public int AddInvoice(Invoice model) 
{ 
    int Invoice_Id = CRMServiceDL.insertInvoiceDetail(model); 
    int success; 
    if (Invoice_Id > 0) 
    { 
     success = Invoice_Id; 
    } 
     else { 
     success = -1; 

    } 
    return success; 
} 

回答

4

您需要返回JSON

[HttpPost] 
public JsonResult AddInvoice(Invoice model) 
{ 
    int invoiceId = CRMServiceDL.insertInvoiceDetail(model); 
    int success = invoiceId > 0 ? invoiceId : -1; 

    return Json(new { success }); 
} 
+1

如果塊似乎不必要... – 2013-03-26 13:31:53

+0

我真的沒有看他的代碼。很好的接收。 – Romoku 2013-03-26 13:32:32

+0

小東西。你的回答是正確的;) – 2013-03-26 13:33:34

0

就在使用結果你的成功回調,而不是result.success。

結果本身將包含您返回的值。