MVC和jQuery数据检索

时间:2010-05-10 17:58:43

标签: asp.net-mvc json jquery

我正在使用mvc和jQuery,我正在尝试显示某个人的个人资料以及该人所属的其他一些机构。我是新手,但我在ProfileControler中做过类似的事情:

public ActionResult Institutions(int id)
    {
       var inst = fr.getInstitutions(id);
        return Json(inst);
    }

getInstitutions(id)返回Institution对象(包含Name,City,Post Code等) 然后在某个视图中我试图用jQuery获取数据并显示如下:

$(document).ready(function () {
        $.post("/Profile/Institutions", { id: <%= Model.Profile.userProfileID %> }, function (data) {
            $.each(data, function () {

                var new_div = $("<div>");

                var new_label = $("<label>");
                new_label.html(this.City);

                var new_input_b = $("<input>");
                new_input_b.attr("type", "button");

                new_div.append(new_label);
                new_div.append(new_input_b);

                $("#institutions").append(new_div);
            });
        });
    });

$(“#institutions”)是一个div,我想显示所有结果。 .post工作正确,因为某些机构是从数据库中检索出来的,并作为Json结果传递给视图。但是后来我很害怕它不会与.each一起使用。

任何帮助,冥想或指向某个方向的人都会非常感兴趣

1 个答案:

答案 0 :(得分:1)

如果您set the dataType to JSON

,上述代码将有效
$(document).ready(function () {
        $.post("/Profile/Institutions",
        { id: <%= Model.Profile.userProfileID %> }, 
        function (data) {
            $.each(data, function () {

                var new_div = $("<div>");

                var new_label = $("<label>");
                new_label.html(this.City);

                var new_input_b = $("<input>");
                new_input_b.attr("type", "button");

                new_div.append(new_label);
                new_div.append(new_input_b);

                $("#institutions").append(new_div);
            });
        },
        "json");
    });