MVC3 Ajax显示数组中的所有值

时间:2012-08-05 16:53:06

标签: asp.net-mvc-3

我从我的动作控件中获取了我的值,但我希望显示我的所有值。如何在ajax中使用for循环或foreach来显示所有元素的数组?

这是我的剧本

  

$。AJAX({               type:“get”,url:“Home / Oku”,data:{},dataType:“json”,               成功:函数(数据){                   for(var i = 0; i< data.length; i ++){                       $(“img#myimage”)。attr(“src”,data [i])                       我++;                   }

1 个答案:

答案 0 :(得分:0)

目前还不是很清楚你要做什么。目前尚不清楚控制器操作用于返回数据的格式。从您显示的代码中我可以假设它返回一个字符串数组。然后我想这些字符串表示某些图像的URL,因为您似乎试图将它们分配给img标记的src属性。除了你使用id选择器并且总是为每个元素覆盖相同的img标记。

如果您想拥有多个图像,则可以动态创建它们。首先创建一个空占位符:

<div id="images"></div>

然后:

$.ajax({
    url: 'Home/Oku', 
    type: 'GET', 
    success: function (data) {
        var images = '';
        for (var i = 0; i < data.length; i++) {
            images = images + '<div><img src="' + data[i] + '" /></div>';
        }
        $('#images').html(images);
    }
});

这假设您的控制器操作返回一个JSON编码的字符串数组,表示图像的URL:

public ActionResult Oku()
{
    var imageUrls = new[] 
    { 
        "http://example.com/foo.jpg", 
        "http://example.com/bar.jpg" 
    };
    return Json(imageUrls, JsonRequestBehavior.AllowGet);
}