如何将模型对象或 Viewbag 传递给 Javascript?

Din*_*ino 0 javascript c# jquery razor asp.net-mvc-4

我正在使用 asp.net mvc4 和 C#。Getdeatils()我从学生课程的方法中获取详细信息。该方法返回一个数组。Getdetails方法也有相同的字段,如studentBO. 在控制器中我有如下方法

   public ActionResult Index()
            {
          List<studentBO> list = new List<studentBO>();
                    Student.GetDetails[] dt = Student.Getdeatils();
                for (int i = 0; i < dt.Length; i++)
                {

                            studentBO.name= dt[i].name;
                            studentBO.studentno= dt[i].studentno;
                            studentBO.address= dt[i].address;
                            list1.Add(studentBO);
                  }    
          ViewBag.Registrationlist = list1;
           return View(list1);
        } 
Run Code Online (Sandbox Code Playgroud)

studentBO对象有 3 个字段

public class studentBO
    {      
        public long studentno{ get; set; }
        public string name{ get; set; }
        public string address{ get; set; }
}

How can I get viewbag or model in my Jquery  `$(document).ready(function () {}` function. I want to get every students name. So I have to use foreach loop as well.
Run Code Online (Sandbox Code Playgroud)

Ste*_*iaz 5

您可以序列化 ViewBag 中的项目并将其写入视图,以便 Javascript 代码能够读取它:

$(document).ready(function() {
    var registrationList = @(Html.Raw(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(ViewBag.Registrationlist)));
    for (var i = 0; i < registrationList.length; i++) {
        var studentno = registrationList[i].studentno;
        var name= registrationList[i].name;
        var address= registrationList[i].address;
        // write some more code to make use of the values
    }
});
Run Code Online (Sandbox Code Playgroud)