将数组从Controller传递到View

时间:2018-10-29 21:04:21

标签: c# asp.net-mvc razor

我正在尝试做看似世界上最简单的事情,但这使我无奈地将头撞在墙上。我只需要将一个简单的字符串数组从Controller类中的C#方法传递给索引视图中的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 :(得分:0)

在您的控制器中尝试:

 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调用。