Попытка вернуть asp.net mvc JSONResult с помощью VB.Net - PullRequest
2 голосов
/ 15 января 2009

Я пытаюсь вернуть запись из LINQ2SQL как JsonResult, чтобы обновить страницу просмотра через jquery ajax. Я выложу свой код ниже. Когда я следую за ним через отладчик, моя функция в контроллере вызывается и возвращает запись. Я думаю, что может быть что-то не так с моим Jquery для получения JSONResult. Есть идеи?

Вид:

<a href="#" onclick="getProject(<%=project.ID%>)"><img src="<%=project.ThumbPath%>" alt="<%=project.Title%>" /></a>

Контроллер:

   Function DisplayProjectAjax(ByVal id As Integer) As JsonResult
        Dim project = From p In db.Projects Where p.ID = id
        Return Json(project)
    End Function

Jquery:

<script type="text/javascript">
    function getProject(id) {
        $(document).ready(function() {
            $.getJSON("/Portfolio/DisplayProjectAjax/" + id,
          {},
          function(data) {
              $("#Title").Text(data.Title);
          });
        }); 
    }

Ответы [ 2 ]

2 голосов
/ 15 января 2009

Попробуйте:

$("#Title").text(data.Title);

или

$("#Title").html(data.Title);

Обратите внимание на корпус ... Также будет полезно что-то вроде Firebug . Вы можете просмотреть вкладку «Сеть и консоль» и увидеть все ваши запросы, а также довольно легко отладить свой Javascript.

1 голос
/ 15 января 2009

Результатом вашего запроса является IEnumerable, который, вероятно, сериализован в виде массива объектов Project, хотя существует только один. Мой синтаксис VB, вероятно, неверен, но выберите First () из объектов, выбранных выделением.

return JsonResult( person.First() );

Думаю, тебе понадобится и исправление @JD Конли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...