gpt4 book ai didi

razor - Kendo ui Grid 显示 json 而不是网格 Asp .net razor

转载 作者:行者123 更新时间:2023-12-04 05:01:00 25 4
gpt4 key购买 nike

我试图初始化我的 Kendo ui 网格。我可以使用 View 对象填充它,
但是当我尝试以 Json 格式执行此操作时(即移动到下一页时),我得到一个显示 json 结果而不是我的 View 的屏幕。

这是 Controller 代码:

 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 结果的空白页面。我在这里缺少什么?

编辑:我想在服务器端执行分页

最佳答案

明白了,

问题是必须首先使用相同的 Controller 名称初始化 View -该死的命名约定:),
我的解决方案是

        public ActionResult Index()
{
return View();
}

[HttpPost]
public ActionResult Index([DataSourceRequest] DataSourceRequest request)
{
DataSourceResult result = GetAllCampaigns().ToDataSourceResult(request);
return Json(result, JsonRequestBehavior.AllowGet);
}

关于razor - Kendo ui Grid 显示 json 而不是网格 Asp .net razor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16143886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com