将数组传递给 ASP.NET Core 中的数据属性
Posted
技术标签:
【中文标题】将数组传递给 ASP.NET Core 中的数据属性【英文标题】:Passing an array into a data-attribute in ASP.NET Core 【发布时间】:2019-06-10 10:33:00 【问题描述】:我正在尝试将整数数组传递到 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>
谢谢!
【问题讨论】:
How to print contents of array horizontally?的可能重复 【参考方案1】:一种方法是使用 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 数组。
希望这对你有用。如果是,请将其标记为答案。
【讨论】:
以上是关于将数组传递给 ASP.NET Core 中的数据属性的主要内容,如果未能解决你的问题,请参考以下文章
如何将文件中的其他参数从 Angular 传递给 ASP.NET Core 控制器?
将数据从 javascript 传递到 asp.net core 2 razor 页面方法