gpt4 book ai didi

asp.net-mvc-3 - 带有 Ajax 和参数的网格中的 Kendo Ui DropDownList (ASP.NET MVC)

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

我有一个使用下拉列表的 KendoUI 网格。所以网格的每个元素都有一个下拉列表。 DropDownList 在局部 View 中定义。

@(Html.Kendo().DropDownList()
.Name("positions")
.DataValueField("EmpId")
.DataTextField("EmpName")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("_AjaxGetEmps", "Emp", new { Empid = <empid of currently selected grid row> });
}).ServerFiltering(true);
})
)

我把什么放在哪里?我想要做的是从当前选定行的网格中引用一个字段。网格的每一行在下拉列表中都可以有不同的值,我需要将值传递给 AjaxGetEmps 方法。我正在使用带有 Razor View 引擎的 ASP.NET MVC。

最佳答案

您必须通过 Empid通过 Data 方法传递参数,而不是像这样直接给出参数:

@(Html.Kendo().DropDownList()
.Name("positions")
.DataValueField("EmpId")
.DataTextField("EmpName")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("_AjaxGetEmps", "Emp")
.Data("getCurrentEmpid"); // this links to a javascript function
// which will get the current emp id
}).ServerFiltering(true);
})
)

并且 javascript 函数应该像这样实现:
function getCurrentEmpid() {
var grid = $("#idGrid").data("kendoGrid"); // where "idGrid" is the id of your grid

return {
Empid: grid.dataItem(grid.select()).Empid
}
}

这里 grid.select()返回网格中选定的行和 grid.dataItem(row)获取与此行关联的数据。所以这里 Empid应该是你的模型类的 id。
另请注意,如果您有标志 GridSelectionModeMultiple你将不得不循环抛出 grid.select()数组...

关于asp.net-mvc-3 - 带有 Ajax 和参数的网格中的 Kendo Ui DropDownList (ASP.NET MVC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12483358/

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