Передача массива в атрибут данных в ASP.NET Core - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь передать массив целых чисел в атрибут данных в ASP.NET Core и не могу заставить его работать.

Вот что я пытаюсь сделать:

Контроллер:

public class HomeController : Controller
{
    public IActionResult Index(){
        int[] t = {1, 2, 3, 4};
        ViewBag.t = t;
        return View();
    }
}

Razor 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>

Спасибо!

1 Ответ

0 голосов
/ 16 января 2019

Один из способов сделать это - использовать 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.

Надеюсь, это работает для вас.Если да, отметьте это как ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...