Передача массива из контроллера в представление - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь сделать то, что кажется самой простой вещью в мире, но это заставляет меня совершенно отчаянно биться головой об стену. Мне просто нужно передать простой строковый массив из метода C # в моем классе Controller в код JavaScript в моем представлении индекса. Вот и все. Просто передайте простой массив. Но будь я проклят, смогу ли я выяснить, как или понять какой-либо из запутанных ответов, которые я видел в Интернете.

Вот детали (упрощенно):

Мой контроллер:

public class BobsController : Controller
{
    // GET: Bobs
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult ReturnBobsStuff()
    {
    List<string> myList = new List<string> { "element1", "element2", 
                                             "element3", "element4", 
                                             "element5", 
                                           };
    string[] myArray = myList.ToArray();
    return View(myArray);
    }
 }

Мой взгляд:

<script>
    $(function () {
            var JavascriptArray = ??;
          });
</script>

?? это проблема, очевидно.

1 Ответ

0 голосов
/ 31 октября 2018

Попробуйте это в вашем контроллере:

 public ActionResult ReturnBobsStuff()
{
List<string> myList = new List<string> { "element1", "element2", 
                                         "element3", "element4", 
                                         "element5", 
                                       };
ViewBag.MyVariable = myList.ToArray();
return View();
}

Тогда по вашему мнению:

 <script> var myJsVariable = 'ViewBag.MyVariable' </script>

Но я предлагаю вам попробовать другой эффективный метод, например, использование вызова AJAX.

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