2012-08-22 65 views
0

我正在構建一個MVC遠程共享點應用程序&已經編寫了代碼來將ListItemCollection導出爲JSON,而不需要知道字段名稱。我怎樣才能做到相同的自定義模型作爲formdata從視圖傳遞到控制器?這裏的JSON導出代碼,它的片斷顯示了我想要做的如何通過.NET MVC模型中的字段進行循環

foreach (ListItem oListItem in IndListItem) 
{ 
    int fcount =oListItem.FieldValues.Keys.Count; 
    for (int j = 0; j < fcount; j++) 
    {      
     fname= oListItem.FieldValues.Keys.ElementAt(j); 
     fval = HttpUtility.HtmlEncode(oListItem.FieldValues[fname].ToString()); 
    } 
    json += '"' + fname + '"' + ":" + '"' + fval + '"' + ","; 
} 

我想acheive像

sp.ListItem oListItem = list.GetItemById(id); 
foreach (xField in formdata) 
{ 
    oListItem[xField] = formdata.getField(xField).ToString(); 
} 

在此先感謝什麼

回答

0

你不應該自己生成JSON。你有幾個選項:

在你的MVC動作中,返回一個JsonResult。

public ActionResult MyListAsJson() { 
    /* get list */ 
    return Json(IndListItem); 
} 

使用JavascriptSerializer

var serializer = new JavascriptSerialzer(); 
var json = serializer.Serialize(IndListItem); 

其他常見的備選方案包括DataContractJsonSerializerJson.NET

相關問題