簡體   English   中英

顯示從Asp.Net MVC中的Controller返回的JSON數組數據

[英]Display JSON Array Data Returned from Controller in Asp.Net MVC

我的控制器中有一個動作方法;

public ActionResult IndexWithJson(int Id, int? page)
{
    int pageSize = 2;
    int pageNumber = (page ?? 1);

    using (var adsRepo = new AdvertisementRepository())
    {
        if (Id > 0)
        {
            return Json(new{
                Data = adsRepo.GetAdvertisementBySubCategoryId(Id).ToPagedList(pageNumber, pageSize)
            }, JsonRequestBehavior.AllowGet);
        }
        else
        {
            return View("404");
        }

    }
}

瀏覽器中的結果輸出是; 在此輸入圖像描述 正如您在圖片中看到的那樣,我將數據(在控制器中)與一個名為“Data”的對象進行包裝。
現在當我用這樣的jQuery調用它時;

var serviceBase = "/catalog/";

$.ajax({
    url: serviceBase + 'IndexWithJson',
    contentType: 'application/json; charset=utf-8',
    dataType:'json',
    data: { Id: categoryId, page: page },
    success: function (data) {
        alert(data.Title);
    }
});

我在警告框中看到null。
這里有什么問題?
如何在警告框中實際顯示一個屬性(請參閱屬性圖片)。
我的dataType屬性是否在jQuery ajax函數中正確? (我想它應該是JSONP

試試這個:

data.Data[0].Title

這應該有效

嘗試

alert(data[0].Title)

這是一個陣列。

要顯示所有你可以做這樣的事情:

$.each(data, function(index, value) {
    $('#somediv').append(value.Title);
});

我認為你需要使用JSON.stringify來發送參數(在你的ajax調用中給控制器。有點像
data:JSON.stringify({Id:categoryId,page:page}),
您是否正確地在控制器端獲得Id和頁面值? 我認為你的ajax調用結果是null,即客戶端的data = null。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM