2014-03-12 41 views
1

我在MVC3中有一個Web應用程序,我正在使用Telerik Grid Batch Editing。如何將IEnumerable列表從Ajax發送到控制器

批量編輯必須保存更改按鈕返回更新的列到控制器的IEnumerable列表像

[GridAction] 
    public ActionResult Update(IEnumerable<Customers> updated) 
    { 
     ///user codes 
    } 

但如何收集更新的行中,並使陣列發送類似的IEnumerable列表從Javascript與AJAX來控制?

編輯 我把我的觀點爲png

enter image description here

我只是想送更新的行數據,控制器和保存更改按鈕就可以做到這一點,但前thje發送值我只是想詢問用戶「你確定要加載嗎?」和發送數據後,我想刷新所有頁面

所以我鑫卡特與Ajax請求要做到這一點,因爲我還使用批量使用Ajax請求編輯

你有這種情況的先進經驗任何?

+0

你爲什麼用JavaScript發送它?你不應該嘗試手動解析它。請發佈您的視圖,以便我們可以看到有問題的代碼。 –

+0

嗨! @AndreiV我粘貼了我的view.jpg,並且我解釋了我想要的。 – saulyasar

+0

您應該使用JavaScript(或jQuery)在您的提交按鈕上添加事件偵聽器。點擊後,您只需顯示一個「確認」。 –

回答

2

使用AJAX POST正如我在測試JavaScript函數都作爲::

function TestAjax() { 
    var Test = []; 

    for (var i = 0; i < 5; i++) { 
     Test.push({ ID: i, Name: "RJ" }); 
    } 

    $.ajax({ 
     type: 'POST', 
     url: rootUrl('Home/TestPost'), 
     contentType: "application/json", 
     //data: { Test: JSON.stringify(data) }, 
     data:JSON.stringify({Test: Test}), 
     success: function (data) { 
      alert("Succeded"); 
     } 
    }); 
} 

而在服務器端(即控制器)使用類似::

public ActionResult TestPost(IEnumerable<TestViewModel> Test) 
    { 
     return Json(3); 
    } 

視圖模型包含不同數據類型的數據類型如下::

public class TestViewModel 
    { 
     public long ID { get; set; } 
     public string Name { get; set; } 
    } 

這工作正常。可能這會幫助你。

+0

Thnx @Rahul我明白你做什麼,但我想發送所有更新的行數據和一些數據是十進制的一些數據是字符串也如何捕捉網格中更新的行? – saulyasar

+0

@saul dataType沒有任何內容。 正如你在我的例子中看到的,我傳遞了ID(long)和Name(string)。 好吧,讓我編輯我的答案與viewmodel也。 – Rahul

相關問題