【发布时间】:2018-07-19 15:43:41
【问题描述】:
我想创建一个包含不同视图的视图。我以前从未使用过json。我该如何做到这一点以及如何在视图中格式化 json 数据?
我的第一个函数“Details”是从数据库中检索一个对象并返回视图“Details.cshtml”。在这个视图中,我想生成一个局部视图(“Stats.cshtml”)。现在我想用 Stats 函数中以 json 格式下载的数据生成一个局部视图。
控制器
public IActionResult Details(int? id = 1)
{
var person = _context.Persons.Find(id);
return View(champion);
}
public IActionResult Stats()
{
var json = new WebClient().DownloadString("url");
return Json(s);
}
查看 - Details.cshtml
@model Person
<div class=row">
<div class="col-sm-5"> @Model.Name </div>
<div class="col-sm-5"> @Html.Partial("Stats") </div>
</div>
查看 - Stats.cshtml
<h2>Stats</h2>
<div> here I want to put in a json field </div>
当我从地址 localhost/Home/Stats 运行“Stats”函数时,我得到 json 格式的结果,但是当我运行“Details”函数时,我得到了视图没有 json 值的“详细信息”和“统计信息”。
【问题讨论】:
-
我这样做,但在视野中。不知道好不好
@{ @using Newtonsoft.Json; @using System.Net; var s = new WebClient().DownloadString("url"); var yourViewModel = JsonConvert.DeserializeObject<App.Models.ViewModel.Person>(s); }@Html.Partial("Stats", yourViewModel)
标签: c# asp.net json asp.net-mvc asp.net-core-2.0