0

我有一个数据表,我将其序列化为 json,然后解析到我使用 J Query 获取这些值的视图代码。

当我使用

document.getElementById('Name').value = UserInfo.Name; 

Userinfo.Name = null,

我做错了什么因为无法读取我的用户信息。

有人可以告诉我如何从 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 剃须刀。

提前致谢。

编辑仍然无法访问值(此编辑回复答案)


在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

2 回答 2

1

看起来您的 JSON 对象是一个包含一个项目的数组。在这种情况下,您应该访问UserInfo[0].Name. 还要验证document.getElementById('Name')确实找到了一个元素。

此外,由于您使用的是 jQuery,document.getElementById('Name') = UserInfo[0].Name因此可以重写为$('#Name').val(UserInfo[0].Name).

于 2013-06-20T07:13:22.740 回答
0

用于var info=jQuery.parseJSON(UserInfo);解析值,然后info.Name会给你结果

演示

喜欢你的 JSON 对象结构检查这里

于 2013-06-20T07:13:48.023 回答