我已经从数据库中创建了一个JSON数组,并将其设置在控制器中,如下所示:
public ActionResult highlight()
{
var statesHighlight =
db.Jobs
.Select(r => r.State);
return Json(statesHighlight , JsonRequestBehavior.AllowGet);
}
如何在我的视图中将其设置为JavaScript变量?我确信这有一个简单的方法,但我似乎无法弄明白。我使用@ Html.Action还是@ Url.Action?
编辑: 以下是我目前使用我正在使用的插件硬编码数据的方法:
<script type="application/json" id="map-data">
["CA","UT","FL","MT","WA","KS","KS","UT"]
</script>
<script>
var data = $.parseJSON($('#map-data').text());
var cities = $.parseJSON($('#city-data').text());
$('img').mapster({
mapKey: 'state',
clickNavigate: true,
isSelectable: false,
highlight: false,
onConfigured: function () {
// make the array into a comma-sparated list
var csv = data.join(',');
var city_list = cities.join(',');
// the 'set' activates the areas
$('img').mapster('set', true, csv, options = { fillColor: '638EA5' });
//altImage: '../Images/map_outline_blackStrokeDot.png'
$('img').mapster('set', true, city_list, options = { fillColor: 'ffffff' });
}
});
</script>
答案 0 :(得分:1)
检查出来:
<script type="text/javascript">
$(function () {
$.getJSON('gimmearray'
, null
, function (data) {
console.log(data);
});
});
</script>
控制器:
public JsonResult GimmeArray()
{
string[] theArray = {"this", "is", "an", "array"};
return Json(theArray, JsonRequestBehavior.AllowGet);
}
在您的控制器上,您可能必须使用ToArray
执行该查询。