[英]ASP.NET MVC - How to display data in Razor view returned from Webapi controller
[英]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.