我正在使用asp.net MVC4进行Web应用程序开发。
我想遍历ViewModel中的对象列表。
以下是对象的类:
public class User
{
public int Id {get; set;}
public string Name {get; set;}
public string Address {get; set;}
public string Department {get; set;}
}
以下是我的ViewModel
课程:
public class UserViewModel
{
public List<User> AllUsers {get; set;}
public bool IsDeleted {get; set;}
}
如UserViewModel
类所示,我有User
类型的对象列表。现在,我想使用AllUsers
遍历Jquery
列表中的每个用户对象,并从中获取数据。
为了做到这一点,我尝试做了类似以下的事情:
$(@Model.AllUsers).each( function(){ .... });
我尝试过使用上述方法的不同组合,但无法成功。任何人都可以提出相同的解决方案。
提前致谢。
答案 0 :(得分:9)
使用
将您的收藏分配到javascript变量var users = @Html.Raw(Json.Encode(Model.AllUsers))
然后你可以迭代
$.each(users, function(index, item) {
// access the properties of each user
var id = item.Id;
var name = item.Name;
....
});
答案 1 :(得分:2)
<script type="text/javascript">
var UsersList = @Html.Raw(Json.Encode(Model.AllUsers))
for (var i = 0; i < UsersList.length; i++) {
alert(UsersList[i].Id);
alert(UsersList[i].Name);
}
</script>
答案 2 :(得分:0)
JavaScript通常对剃刀组件不满意,但如果以上是CSHTML文件的一部分,它将起作用。
其他方法是:
@foreach ...
您如何调用此功能以及它的作用是什么?
答案 3 :(得分:0)
就我而言,我通过这种方式修复:
@for(int i=0;i<Model.AllUsers.Count;i++)
{
@: var name = '@Html.Raw(@Model.AllUsers[i].Name)';
@:alert(name);
}