代码之家  ›  专栏  ›  技术社区  ›  Chris Kimpton

Net MVC(1)-如何将JSON传递给视图而不是单独的ajax调用

  •  1
  • Chris Kimpton  · 技术社区  · 14 年前

    我有一些数据要以JSON格式传递到视图(.aspx页)。

    我可以添加一个异步ajax调用并以这种方式加载它,但是既然我预先有了数据,为什么不直接将其转储到视图中呢。

    我可以传递一个C#对象作为模型,然后在Javascript中手动遍历它来填充一个Javascript对象,但这似乎是有人以前做过的事情,很可能已经有一个工具来完成了。。。

    克里斯

    2 回复  |  直到 14 年前
        1
  •  1
  •   David Neale    14 年前

    你可以用 System.Web.Script.Serialization.JavaScriptSerializer .

    ViewData["JSONData"] = new JavaScriptSerializer().Serialize(myObject);
    

    然后可以将其渲染到隐藏字段或视图中的任何位置。

        2
  •  2
  •   Castrohenge    14 年前

    您可以使用 Json.net 然后将Json.net对象作为字符串传递给视图模型。

    viewModel.JsonToUse = JsonConvert.SerializeObject(object).ToString();
    // Or build the Json up manually using a JOBject.
    
    return View("ViewName", viewModel);