c# - 将数组传递给 ASP.NET Core 中的数据属性
问题描述
我正在尝试将整数数组传递到 ASP.NET Core 中的数据属性中,但我无法让它工作。
这是我正在尝试做的事情:
控制器 :
public class HomeController : Controller
{
public IActionResult Index(){
int[] t = {1, 2, 3, 4};
ViewBag.t = t;
return View();
}
}
剃刀视图:
@{
ViewData["Title"] = "Home Page";
}
<label id="intLabel" data-int-array="@(ViewBag.t)">My label</label>
我有什么:
<label id="intLabel" data-int-array="System.Int32[]">My label</label>
我想要什么:
<label id="intLabel" data-int-array='["1", "2", "3", "4"]'>My label</label>
谢谢 !
解决方案
一种方法是使用 Newtonsoft.Json
在您的 Razor 代码中,包括@using Newtonsoft.Json
.
接着:
<label id="intLabel" data-int-array="@(JsonConvert.SerializeObject(ViewBag.t))">My label</label>
这将产生:
<label id="intLabel" data-int-array="[1,2,3,4]">My label</label>
在您所需的输出中,您已请求字符串数组 - 在这种情况下,您必须在代码中将“t”定义为字符串数组而不是 int 数组。
希望这对你有用。如果是这样,请将其标记为答案。
推荐阅读
- c++ - 如何从文件系统打印特定名称文件
- java - 我添加范围 1 - 9999 的条件的代码无法使用 switch 语句
- powershell - 在包含多个作业的 Azure DevOps 发布管道中,我可以在脚本中捕获以前作业的状态吗?
- angular - 想要从已登录的特定人员的 RESTAPI 中获取数据
- javascript - 如何获取 iframe 的 JSON 值?
- python-3.x - 如何在python中将另一个excel数据附加到sqlite3数据库中?
- node.js - 如果按下按钮(gpio,raspberry)使用node.js(服务器)将新页面/html发送到浏览器(客户端),怎么办?
- database - 如何在 Cassandra 的某个时间范围内按字段分组?
- python - 如何对多个功能进行分组和应用?
- android - 找不到 com.google.firebase-core:17.0.1: