2013-07-29 17 views
0

我有一些問題建立一個JSON字符串的GUID傳遞給我的行動方法。通過一個列表<Guid>作爲Json問題的行動方法

我收集了我的GUID到一個數組是這樣的:

var regEx = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/; 
     var arrJson = {}; 
     var i = 0; 
     $('#destGrid tr').each(function() { 
      $(this).find('td').each(function() { 
       var td = $(this); 
       if (regEx.test(td[0].innerText)) { 
        arrJson[i] = td[0].innerText; 
        i++; 
       } 
      }); 
     }); 

我那麼陣列上使用json.stringify,並給它帕拉姆名稱的操作方法需要。

if (arrJson[0] != null) { 
      var jsonData = JSON.stringify({ selectedMatters: arrJson }); 

在這一點上,如果我調試的JavaScript,我可以檢查字符串的值,我可以看到所有的報價已經越獄:

"{\"selectedMatters\":{\"0\":\"f7c918d6-4e40-e211-9854-00155d010d00\",\"1\":\"77d4d836-ce45-e211-9854-00155d010d00\",\"2\":\"c6849622-cf45-e211-9854-00155d010d00\",\"3\":\"0ce4dc5b-cf45-e211-9854-00155d010d00\"}}" 

的完整性方法的簽名外觀像這樣:

public bool UpdateMattersForGrid(List<Guid> selectedMatters) 
{ 
} 

我已經嘗試了一些東西,但大部分時間selectedMatters爲null。任何人都可以解釋爲什麼這不是模型綁定,以及我如何糾正它。我發現的其他例子只是告訴我要做我現在正在做的事情。

謝謝

+0

你必須保持的GUID的順序? –

回答

2

我會從一個JavaScript對象{}更改爲JavaScript數組[]。這將映射到List<>

所以的JavaScript將是這個樣子:

var regEx = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/; 
     var arrJson = []; //change to array 
     var i = 0; 
     $('#destGrid tr').each(function() { 
      $(this).find('td').each(function() { 
       var td = $(this); 
       if (regEx.test(td[0].innerText)) { 
        arrJson.push(td[0].innerText); // push into array 
        i++; 
       } 
      }); 
     }); 
+0

我現在感覺多麼愚蠢!謝謝你,現場。 –

相關問題