如何在MVC中作为ActionResult对象返回时在视图上显示json格式输出?

时间:2015-11-19 09:26:10

标签: javascript json asp.net-mvc asp.net-mvc-4

HomeController.cs

public async Task<ActionResult> TestExample()
{
    IEnumerable<Customer> result = await myClient.For<Customer>().FindEntriesAsync();
    return View(result);
}

将返回一份客户数据列表。我想在视图上以json格式显示此数据。

我试过这样:

Index.cshtml

<script type="text/javascript">
    var model = @Html.Raw(Json.Encode(Model));
</script>

但我没有Model :(

2 个答案:

答案 0 :(得分:1)

可能您忘记在视图中指定模型的类型。

您需要在视图的开头添加@model type行:

@model IEnumerable<Customer> 

<script type="text/javascript">
    var model = @Html.Raw(Json.Encode(Model));
</script>

答案 1 :(得分:-1)

尝试:

IEnumerable<Customer> result = await myClient.For<Customer>().FindEntriesAsync();         
ViewBag.Customers = Newtonsoft.Json.JsonConvert.SerializeObject(result);

在视图中

var customers = @Html.Raw((string)ViewBag.Customers);