0

私は MVC リモート共有ポイント アプリを構築しています & フィールド名を知る必要なく、ListItemCollection を JSON としてエクスポートするコードを作成しました。ビューからコントローラーにフォームデータとして渡されたカスタムモデルに対して同じことを行うにはどうすればよいですか? これは、私がやりたいことを示す JSON エクスポート コードのスニペットです。

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 + '"' + ",";
}

私は何かを達成したい

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

前もって感謝します

4

1 に答える 1

0

JSON を自分で生成する必要はありません。いくつかのオプションがあります:

MVC アクションで、JsonResult を返します。

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

JavascriptSerializerを使用する

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

その他の一般的な代替手段には、DataContractJsonSerializerJson.NETがあります。

于 2012-08-22T10:17:06.627 に答える