代码之家  ›  专栏  ›  技术社区  ›  Jon

尝试使用VB.net返回asp.net mvc JSONResult

  •  2
  • Jon  · 技术社区  · 17 年前

    我试图从LINQ2SQL返回一条记录作为JsonResult,以通过jquery-ajax更新我的视图页面。我将在下面发布我的代码。当我通过调试器跟踪它时,控制器中的函数被调用,它返回一条记录。我认为检索JSONResult的Jquery可能有问题。有什么想法吗?

    查看:

    <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 回复  |  直到 17 年前
        1
  •  2
  •   Siddharth Rout    14 年前

    尝试:

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

    或

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

    注意外壳。..此外,类似 Firebug 会有帮助的。您可以在Net和Console选项卡中查看所有请求,也可以很容易地调试Javascript。

        2
  •  1
  •   tvanfosson    17 年前

    查询的结果是一个IEnumerable,它可能被序列化为Project对象的数组,即使只有一个。我的VB语法可能不好,但请选择所选对象的First()。

    return JsonResult( person.First() );
    

    我想,你也需要@JD Conley的解决方案。