Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在jquery中读取ViewBag列表_Jquery_Asp.net Mvc_Viewbag - Fatal编程技术网

如何在jquery中读取ViewBag列表

如何在jquery中读取ViewBag列表,jquery,asp.net-mvc,viewbag,Jquery,Asp.net Mvc,Viewbag,我有一个列表,我想从我的控制器传递到我的视图,并使用JQuery在列表中循环。在jquery中,我可以看到ViewBag对象,但是如何扩展数据以实际使用它呢 我的控制器和视图如下所示: //Controller Index() var states = GetStatesAvailable(); ViewBag.MyStates = new SelectList(states, "stateID", "Description"); return View(); //View <scri

我有一个列表,我想从我的控制器传递到我的视图,并使用JQuery在列表中循环。在jquery中,我可以看到ViewBag对象,但是如何扩展数据以实际使用它呢

我的控制器和视图如下所示:

//Controller Index()
var states = GetStatesAvailable();
ViewBag.MyStates = new SelectList(states, "stateID", "Description");
return View();


//View
<script type="text/javascript">
var statesAvailable = "@ViewBag.MyStates";
//Loop through statesAvailable?
</script>
//控制器索引()
var states=GetStatesAvailable();
ViewBag.MyStates=新的选择列表(状态为“stateID”、“Description”);
返回视图();
//看法
var statesAvailable=“@ViewBag.MyStates”;
//循环通过statesAvailable?

MVC控制器:

   //Controller Index()
    var states = GetStatesAvailable();
    var MyStates = new SelectList(states, "stateID", "Description");
    ViewBag.MyStates = JsonConvert.SerializeObject(MyStates);
    return View(); 
JS:

   //Controller Index()
    var states = GetStatesAvailable();
    var MyStates = new SelectList(states, "stateID", "Description");
    ViewBag.MyStates = JsonConvert.SerializeObject(MyStates);
    return View(); 
只需确保在运行该脚本之前已加载jQuery即可

<script type="text/javascript">
    var statesAvailable = @Html.Raw(ViewBag.MyStates);
    //Loop through statesAvailable

    $.each(statesAvailable, function (value)
    {

        console.log(value);
})

var statesAvailable=@Html.Raw(ViewBag.MyStates);
//循环通过statesAvailable
$.each(状态可用,函数(值)
{
console.log(值);
})

MVC控制器:

   //Controller Index()
    var states = GetStatesAvailable();
    var MyStates = new SelectList(states, "stateID", "Description");
    ViewBag.MyStates = JsonConvert.SerializeObject(MyStates);
    return View(); 
JS:

   //Controller Index()
    var states = GetStatesAvailable();
    var MyStates = new SelectList(states, "stateID", "Description");
    ViewBag.MyStates = JsonConvert.SerializeObject(MyStates);
    return View(); 
只需确保在运行该脚本之前已加载jQuery即可

<script type="text/javascript">
    var statesAvailable = @Html.Raw(ViewBag.MyStates);
    //Loop through statesAvailable

    $.each(statesAvailable, function (value)
    {

        console.log(value);
})

var statesAvailable=@Html.Raw(ViewBag.MyStates);
//循环通过statesAvailable
$.each(状态可用,函数(值)
{
console.log(值);
})
试试这个

var statesAvailable = @Html.Raw(Json.Encode(@ViewBag.MyStates));
试试这个

var statesAvailable = @Html.Raw(Json.Encode(@ViewBag.MyStates));

为什么不试着输出“statesAvailable”,看看能得到什么?或者在将数据放入ViewBag之前,使用C#将数据序列化为JSON,为什么不尝试输出“statesAvailable”并查看结果?或者在将数据放在ViewBag上之前,使用C#将数据序列化为JSON。我尝试此操作时,在var statesAvailable=@Html.Raw(ViewBag.MyStates)后面的分号处出现语法错误;在javascript部分。有什么建议吗?当我尝试这个方法时,在var statesAvailable=@Html.Raw(ViewBag.MyStates)后面的分号处出现语法错误;在javascript部分。有什么建议吗?