ASP.NET MVC - 如何将数组传递给视图?

zan*_*ona 9 asp.net arrays asp.net-mvc viewdata

我在这里苦苦挣扎,找到一种简单的方法将数组从控制器传递到ASP.NET MVC框架上的视图.

所以在我的控制器中我会有类似的东西:

public class HomeController : ApplicationController
{   
    public ActionResult Index()
    {
        string[] myArray = { "value01", "value02", "value03"};
        ViewData["passedArray"] = myArray;
        return View();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以在我看来,我只需要调用ViewData ["passedArray"]并在其上运行循环.

但显然ViewData正在接收ViewData作为System.String,可能是因为Array DataType上的声明,但不幸的是我不知道如何正确地传递它,而不是创建数百万个代码行.

如果一个人可以帮助我,那将是太棒了.

提前致谢

Dan*_*ott 12

你需要在视图中进行投射

<% var myArray = (string[])ViewData["passedArray"]; %>
Run Code Online (Sandbox Code Playgroud)


Dav*_*res 9

这应该通过将视图中的ViewData ["passedArray"]转换为string []来实现.或者,如果您想要更进一步:创建一个包含此数组作为成员的ViewModel类,并将该ViewModel传递给视图的强类型版本.