我试图初始化我的剑道 ui 网格。我可以使用 View 对象填充它,但是当我尝试以 Json 格式(即移动到下一页时)时,我得到一个显示 json 结果而不是我的视图的屏幕。
这是控制器代码:
public class CampaignsController : Controller
{
//
// GET: /Campaigns/
[HttpGet]
public ActionResult Index()
{
return View(GetAllCampaigns());
}
public ActionResult Campaigns_Read([DataSourceRequest] DataSourceRequest request)
{
DataSourceResult result = GetAllCampaigns().ToDataSourceResult(request);
return Json(result, JsonRequestBehavior.AllowGet);
}
private static IEnumerable<NH_Campaign> GetAllCampaigns()
{
List<NH_Campaign> result = null;
if (MBPDataAccess.Instance.GetAll(out result))
{
return result;
}
return new List<NH_Campaign>();
}
而cshtml是:
@model IEnumerable<MBP.NH_Campaign>
<h2>View1</h2>
@(Html.Kendo().Grid(Model)
.Name("CGrid")
.Columns(columns =>
{
columns.Bound(p => p.CampaignID).Title("Id");
columns.Bound(p => p.CampaignName).Title("Name");
columns.Bound(p => p.ClickUrlC2C_OFF).Title("Click URL");
columns.Bound(p => p.PlatformID).Title("Platform ID");
})
//.Groupable()
.Pageable()
//.Sortable()
//.Filterable()
.DataSource(dataSource => dataSource.Ajax().PageSize(2).Read(read => read.Action("Campaigns_Read", "Campaigns"))
));
加载页面时调用的Index
操作效果很好,但是当我尝试移至下一页时Camapigns_Read
调用了该操作,但我得到了一个带有 json 结果的空白页面。我在这里想念什么?
编辑:我想在服务器端执行分页