从模型到视图获取数组

时间:2011-12-01 07:54:35

标签: javascript asp.net-mvc-3 view model razor

在我的模型中,我有一个int对象和一个布尔数组:

public class mymodel
{
  public int Round { get; set; }
  public Boolean[] lstLabs { get; set; }
}

在我看来,我这样写:

<script type="text/javascript">
var objModel = {  
    Round:"@Model.Round",
    lstLabs: "@Model.lstLabs"
      }; 
</script>

我只得到Round(int对象)的值,但我得不到数组,我得到这个:lstLabs:System.Boolean [],我试过:lstLabs: @Model.lstLabs.slice()但它没有'工作,我有同样的事情......

任何人都可以帮助我吗?

提前致谢。

1 个答案:

答案 0 :(得分:7)

如果您想要视图模型的所有属性:

<script type="text/javascript">
    var objModel = @Html.Raw(Json.Encode(Model));
    alert(objModel.Round + ' ' + objModel.lstLabs.length);
</script>

或者如果您只想要一个子集:

<script type="text/javascript">
    var objModel = @Html.Raw(Json.Encode(new {
        Labs = Model.lstLabs
    }));
    alert(objModel.Labs.length);
</script>