我在视图中有一个列表:
@model List<LabelPrinting.Models.UserModel>
有没有办法用jQuery获取列表中单个成员的所有属性:
var user = @Model[0];
此语句有语法错误,但当我使用单引号时它没有,但我没有得到用户数据:
var user = '@Model[0]';
我宁愿不使用JSON编码方法:
var users;
users = function () { return @Html.Raw(Json.Encode(Model)) }();
我知道这有效,我可以通过以下方式获取用户的所有数据:
var user = users[0];
我知道我可以通过以下方式获得用户的一些属性:
var userId = '@Model[0].UserId';
为什么我无法获得整个用户?
答案 0 :(得分:2)
此语句有语法错误
var user = @Model[0];
因为javascript不知道类的类型,即UserModel
,正如您已经提到的那样,您必须使用Json.Encode将c#对象转换为json,以通过以下语句创建javascript对象。
users = function () { return @Html.Raw(Json.Encode(Model)) }();
但是当我使用单引号时它不会,但我没有得到用户数据:
var user = '@Model[0]';
因为现在您不分配C#的对象,但字符串的值为@Model[0]
。如果您打印Console.log(用户),它将是字符串@Model[0]