相当长时间以来,我一直在尝试从Controller MVC c#获取基于字符串列表定义的Json数据,但是没有运气。我认为我缺少一些愚蠢的东西,但是您能在这里指导我吗?
我有一个控制器函数返回一个分配了Viewbag的视图,如下所示:
List<string> Brands;
Brands = GlobalVariables.Brands.Where(m => m.brand_cd != "OOO" && m.brand_cd.Trim().ToLower().Equals(m.main_brand.Trim().ToLower()))
.OrderBy(m => m.brand_cd).Select(m => m.brand_cd.Trim()).Distinct().ToList();
ViewBag.BrandList = Json(Brands);
在我看来,我正在尝试将Json变量定义为
<script>
var brandList = '@ViewBag.BrandList';
</script>
但这没有帮助。我得到一个字符串。有什么想法吗?
答案 0 :(得分:0)
您正在分配一个JsonResult对象,并希望得到一个JSON字符串,不是这种情况。
要将实际的JSON放入ViewBag中,您将需要序列化对象并将其放置在ViewBag中。
使用Newtonsoft.Json NuGet软件包的示例,该软件包相当标准:
string myJsonString = JsonConvert.SerializeObject(Brands);
ViewBag.BrandList = myJsonString;
在视图中:
<script>
var brandList = @ViewBag.BrandList;
</script>