我在我的控制器中有一个类似下面的动作,我发送了一个Viewmodel类的对象作为argumnet来查看。问题是我需要获取此对象值 的JavaScript。
public ActionResult FillChecklist()
{
classOne objVM=new classone();
objVM.List=//get list
objVM.Id=//someid
objVM.List2=//secondlist
return View(objVM);
}
我尝试过类似下面的东西,但它不起作用。我知道隐藏变量赋值是一个解决方案,但我不知道模型类是否有很多列表,那我怎样才能在javascript中获取列表。
<script type="text/javascript>
var obj=@Model;
</script>
我也试过了下面的方法。但它显示了当前上下文中不存在名称json
var obj = JSON.parse('@Html.Raw(Json.Encode(Model))');
请帮我解决这个问题。
答案 0 :(得分:1)
我刚刚使用以下代码为您运行了测试:
@model Project.ViewModels.TestViewModel
@using System.Web.Helpers
<script type="text/javascript">
var obj = JSON.parse('@Html.Raw(Json.Encode(Model))');
</script>
视图模型:
public class TestViewModel
{
public string Test { get; set; }
}
它产生以下输出:
<script type="text/javascript">
var obj = JSON.parse('{"Test":"Value123"}');
</script>