如何将控制器中的列表传递给asp.net mvc中的javascript函数?

时间:2016-09-05 13:29:13

标签: javascript asp.net-mvc

我在控制器中有这个查询:

 DataClasses1DataContext behzad = new DataClasses1DataContext();
            var query = (from p in behzad.ImagePaths
                         select new
                         {
                             p.name
                         }).ToList();
            ViewBag.movies = query;


            return View();


并在视图页面中编写此java脚本代码:

function behi() {
        @{
            var behzad = ViewBag.movies;
        }

        alert('@(behzad)');


    }


那个java脚本代码告诉我这个:
enter image description here
如何为show controller查询结果编写java脚本代码?谢谢大家。

2 个答案:

答案 0 :(得分:2)

序列化它。以下代码使用Newtonsoft的Json序列化程序来执行此操作。

var movies = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.movies));

现在movies变量将是一个项目数组,每个项目都有name属性。

答案 1 :(得分:0)

将返回对象序列化为json,如下所示,并在javascript中使用它。 JavaScriptSerializer类位于System.Web.Script.Serialization包中。 希望这会有所帮助。

DataClasses1DataContext behzad = new DataClasses1DataContext();
            var query = (from p in behzad.ImagePaths
                         select new
                         {
                             p.name
                         }).ToList();
            ViewBag.movies = new JavaScriptSerializer().Serialize(query);
            return View();