如何遍历.NET MVC模型中的字段

时间:2012-08-22 09:22:30

标签: c# asp.net-mvc

我正在构建一个MVC远程共享点应用程序&已编写代码将ListItemCollection导出为JSON,而无需知道字段名称。对于从视图传递给控制器​​的formdata的自定义模型,我该如何做同样的事情?这是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();
}

提前致谢

1 个答案:

答案 0 :(得分:0)

您不必自己生成JSON。您有几个选择:

在你的MVC动作中,返回一个JsonResult。

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

使用JavascriptSerializer

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

其他常见替代方案包括DataContractJsonSerializerJson.NET