将数组传递给 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>

谢谢 !


慕仙森
浏览 124回答 1
1回答

慕哥9229398

一种方法是使用 Newtonsoft.Json在您的 Razor 代码中,包括@using Newtonsoft.Json.接着:<label&nbsp;id="intLabel"&nbsp;data-int-array="@(JsonConvert.SerializeObject(ViewBag.t))">My&nbsp;label</label>这将产生:<label&nbsp;id="intLabel"&nbsp;data-int-array="[1,2,3,4]">My&nbsp;label</label>在您所需的输出中,您已请求字符串数组 - 在这种情况下,您必须在代码中将“t”定义为字符串数组而不是 int 数组。希望这对你有用。如果是这样,请将其标记为答案。
打开App,查看更多内容
随时随地看视频慕课网APP