如何在jquery中读取ViewBag列表
我有一个列表,我想从我的控制器传递到我的视图,并使用JQuery在列表中循环。在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
//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部分。有什么建议吗?