2013-06-20 4 views
0

У меня есть таблица данных, которую я сериализую в json, а затем проанализирую код моего представления, где я использую J Query для получения этих значений.Как получить значения из Json в jquery, задать значения текста?

Когда я использую

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; 
     } 
    }); 

Json:

"[ { 
    "UserId": 5, 
    "UserName": "[email protected]", 
    "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": "[email protected]", 
    "Designation": "Spy", 
    "DateEmployedFrom": "2013-06-19T00:00:00", 
    "Active1": true } ]" 

Extra: Я Worki ng с бритвой MVC.

Заранее спасибо.

Edit еще не может получить доступ к значениям (Это редактирует в ответ с ответами)


enter image description here

enter image description here

enter image description here

+0

что таблица здесь? –

ответ

1

Похоже, что ваш объект JSON является массив с одним элементом. В этом случае вы должны получить доступ к UserInfo[0].Name. Также убедитесь, что document.getElementById('Name') действительно находит элемент.

Кроме того, поскольку вы используете jQuery, document.getElementById('Name') = UserInfo[0].Name может быть переписан как $('#Name').val(UserInfo[0].Name).

+0

Спасибо, UserInfo [0] .Name не возвращает значение null, так что становится лучше, но он не возвращает имя, которое оно возвращает HTMLCollection [2]? – Pomster

+0

@Pomster: в этом случае это выглядит как 'UserInfo', это не то, что вы разместили под заголовком« Json »в своем вопросе. Вы проверили инструменты разработчика для фактического запроса? Вы запустили 'UserInfo' для консоли? Откуда у вас код JSON в вашем вопросе? –

+0

Если 'UserInfo' действительно то, что вы говорите, и если существует' # Name', [этот код будет работать] (http://jsfiddle.net/RHwZ9/). Проблема в другом месте. –

0

var info=jQuery.parseJSON(UserInfo); Использование для анализа значения, а затем info.Name даст вам результат

DEMO

Подобно вашей JSON структуры объекта Check here

+0

См. Edit, это результат после того, как вы ответите, но я до сих пор не могу получить доступ к значениям. – Pomster

+0

@Pomster см. Демонстрацию Я создал jsfiddle посмотреть, что у вас будет некоторое понимание –

+0

Еще один пример для вашей информации о структуре json [0] .Name даст вам ответ –

Смежные вопросы