gpt4 book ai didi

c# - MVC 4 - Kendo 网格数据绑定(bind)

转载 作者:行者123 更新时间:2023-11-30 14:10:51 25 4
gpt4 key购买 nike

这是我项目的所有内容:

Controller A

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

public ActionResult User_Read()
{
ViewModels.ViewModelA objView = new ViewModels.ViewModelA();

objView.MyList = new List<ViewModels.SomeClass>();
objView.MyList.Add(new ViewModels.SomeClass() { FirstName = "FN1", Supervisor = "SV1" });
objView.MyList.Add(new ViewModels.SomeClass() { FirstName = "FN2", Supervisor = "SV2" });

return Json(objView, JsonRequestBehavior.AllowGet);
}

ViewModelA

public class ViewModelA
{
public List<SomeClass> MyList { get; set; }
}

public class SomeClass
{
public string FirstName { get; set; }
public string Supervisor { get; set; }
}

Index.cshtml

@using Kendo.Mvc.UI

@(Html.Kendo().Grid<Solution1.ViewModels.ViewModelA>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(c => c.FirstName);
columns.Bound(c => c.Supervisor);
})
.HtmlAttributes(new { style = "height: 380px" })
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("User_Read", "ControllerA"))
)
)

详细信息: 当我运行此页面时,页面加载正常且没有错误,但是页面上未填充任何数据。所以,网格就在那里,但它只显示 FirstName 和 Supervisor 的列名。我知道您不应该对数据进行硬编码,但我现在只是想在网格上显示一些内容,我希望数据原样来自 Controller 。

问题:我需要更改什么才能在网格上显示数据? 另外,从Controller中的数据,如何向网格中添加多行?

更新:我最初提出的问题已部分解决。仍然需要帮助才能将数据显示到网格。

最佳答案

要使代码正常工作,您需要做两件事。

  1. 您需要返回一个列表(或者实际上是任何支持 IEnumerable 接口(interface)的东西)。

  2. 您需要通过调用 ToDataSourceResult 来格式化返回数据。

因此

    public ActionResult User_Read([DataSourceRequest]DataSourceRequest request)
{
var model = new List<ViewModelA>()
{
new ViewModelA()
{
FirstName = "Name",
Supervisor = "Mgr",
},
new ViewModelA()
{
FirstName = "FirstName",
Supervisor = "Supervisor",
},
};

return Json(model.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}

其他一切都与您在编辑之前在原始示例中的完全一样。

查看 Kendo 演示解决方案并研究示例。它不是布局最好的演示,有时您需要深入挖掘源代码以找出到底发生了什么,而不是仅仅依赖于演示似乎暗示您需要的内容。例如,在通过 Ajax 填充网格演示中,由 Ajax 调用并返回数据的实际操作方法未在演示中显示!

关于c# - MVC 4 - Kendo 网格数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22199332/

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