【问题标题】:returning object as json from mvc, how to display on the view从mvc返回对象作为json,如何在视图上显示
【发布时间】:2012-07-19 20:29:43
【问题描述】:

我有从 mvc 控制器作为 Json 返回的对象列表。我想知道如何在视图上显示这些对象。

function GetTabData(xdata) {
    $.ajax({
        url: ('/Home/GetTabData'),
        type: 'POST',
        contentType: 'application/json',
        data: JSON.stringify({ id: xdata }),

        success: function (result) {
           /// what to do here? 
        },
        error: function () { alert("error"); }
    });
}

public JsonResult()
{
   ...
   var temp = getMyData...
   return Json(temp, JsonRequestBehavior.AllowGet);   
}

查看页面

<div id="showContent"> </div>

【问题讨论】:

  • 你能发布你的控制器逻辑'/Home/GetTabData'动作方法吗?此外,当您说应该如何显示它时,答案实际上取决于您的数据的结构以及最终您希望如何显示它。
  • 你能举一个这样的 JSON 文档的例子吗?

标签: c# javascript ajax json model-view-controller


【解决方案1】:

这是您必须做的第一步:

success: function (result) {
    /// what to do here? 
    result = jQuery.parseJSON(result);
    /// Exploit your object(s) ;)
},

在此处查看有关利用的更多详细信息:http://api.jquery.com/jQuery.parseJSON/

【讨论】:

  • 我有点困惑,因为我的对象列表属于某种域对象类型(带有图像的复杂对象)。在这种情况下我应该避免使用 json 吗?
  • 如果图片只是一个链接,没问题
    如果图片在它的字节码下,我认为你不能用javascript来利用它...
  • 对象只存储了图像路径,所以它是一个字符串。任何想法如何解析自定义对象,为简单起见 CustomObject 属性字符串名称和年龄 int ?
  • 是的,在result = jQuery.parseJSON(result); 之后,如果您返回一个数组,请尝试alert(result[0].Name),或者如果您只有一个对象,请尝试alert(result.Name)
猜你喜欢
  • 2015-07-24
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 2018-12-20
  • 1970-01-01
  • 1970-01-01
  • 2016-08-28
  • 2014-04-16
相关资源
最近更新 更多