我正在尝试在.net核心的Razor视图中呈现数据列表。 我有一个具有以下内容的控制器
public async Task<IActionResult> Index()
{
List<Video> videos = await _context.Video.ToListAsync();
JsonConvert.SerializeObject(videos);
return View(videos);
}
在我看来,我尝试通过以下方式获取视图列表
<div data-videos="@Html.Raw(@Model)">
很显然,我可以像这样@foreach (var item in Model)
这样的循环中获取数据,但是我需要data属性上的纯文本/ json形式的数据。
我该如何实现?
答案 0 :(得分:1)
JsonConvert.SerializeObject(videos);
不对视频值进行内联替换。您基本上是在序列化videos
而不是存储值。
请务必注意以下签名:
return View(string);
will return a view with the name of the string,它不将字符串作为模型传递。
要强制执行此操作,您必须执行以下操作:
var json = JsonConvert.SerializeObject(videos);
return View(json as Object);
那么您应该能够:
@model string
<div data-videos="@Html.Raw(@Model)">