我有一个数据表,我将其序列化为json,然后解析为我的视图代码,我使用J Query来获取这些值。
当我使用
时document.getElementById('Name').value = UserInfo.Name;
Userinfo.Name = null,
由于无法读取我的UserInfo,我做错了什么。
有人可以告诉我如何从UserInfo中获取值。
以下是我的所有代码:
C#代码:
public JsonResult SearchForUser(int id)
{
string Sjson = JsonConvert.SerializeObject(DataTable, Formatting.Indented);
return Json(Sjson, JsonRequestBehavior.AllowGet);
}
J查询代码:
$.post("SearchForUser", { id: id }, function (UserInfo) {
if (UserInfo != "")
{
document.getElementById('Name').value = UserInfo.Name;
document.getElementById('Surname').value = UserInfo.Surname;
}
});
杰森:
"[ {
"UserId": 5,
"UserName": "JamesBond@MI6.com",
"UserPassword": "007",
"Name": "James",
"RoleId": 2,
"EmployeeId": 5,
"Active": true,
"Name1": "James",
"Surname": "Bond",
"IdNumber": "007",
"PassportNumber": "700",
"PhysicalAddress": "MI6",
"PostalAddress": "MI7",
"TelNumber": "0126659007",
"SelNumber": "0837777007",
"EmailAddress": "JamesBond@MI6.com",
"Designation": "Spy",
"DateEmployedFrom": "2013-06-19T00:00:00",
"Active1": true } ]"
额外: 我正在使用MVC剃刀。
提前致谢。
编辑仍然无法访问值(此编辑会回复答案)
答案 0 :(得分:1)
看起来您的JSON对象是一个包含一个项目的数组。在这种情况下,您应该访问UserInfo[0].Name
。还要验证document.getElementById('Name')
确实找到了一个元素。
此外,由于您使用的是jQuery,document.getElementById('Name') = UserInfo[0].Name
可以重写为$('#Name').val(UserInfo[0].Name)
。
答案 1 :(得分:0)