如何在asp.net mvc2应用程序的jquery方法中访问ViewModel属性

时间:2013-04-23 19:51:36

标签: jquery asp.net-mvc-2

我正在开发asp.net mvc2应用程序。我有一个ViewModel定义如下:

    public class TestViewModel
    {
        /// <summary>
        /// Get and Set the EnabledSections
        /// </summary>
        public List<string> EnabledSections { get; set; }
    }

我正在使用操作方法中的列表填充TestViewModel的属性EnabledSections:

public ActionResult TestAction(Student student, string[] sections = null)
{
      var model = new TestViewModel 
      {
        EnabledSections  = model.TestSections.Where(s => s.Value.Item2 == true).Select(s => s.Key).ToList();
      }
}

我需要访问jquery方法中的EnabledSections:

function CheckEnabledSection(){
}

有人可以指导我解决上述问题吗?

1 个答案:

答案 0 :(得分:2)

首先,您必须将视图模型传递到视图中,因此从您的操作中看起来如下所示:

return View("ViewName",model);

另外,请务必在视图中声明模型的类型:

@model TestViewModel

然后,在您的视图中,您需要将模型中的任何信息添加到您的js:

<script>
  @{
    var jsSerializer = new JavaScriptSerializer();
  }
  var enabledSections = @jsSerializer.Serialize(Model.EnabledSections);//serialize the list into js array

</script>

现在您可以在javascript中访问js变量enabledSections