gpt4 book ai didi

kendo-ui - Kendo UI MVC 将 MultiSelect 数据值发送到 Action 方法

转载 作者:行者123 更新时间:2023-12-04 19:10:09 31 4
gpt4 key购买 nike

Ajax Binding 上的 Kendo UI Ajax 绑定(bind)文档描述了将多个数据参数传递给一个 Action 方法,但它没有解决像 MultiSelect 值这样的传递数组。

在下面的示例中,如果将 multisel 设置为类似“237896”的字符串,则 Controller 将接收到 sitesFilter="237896"。但是如果 multisel 设置为 MultiSelect 值,如下所示, Controller 会收到 sitesFilter = null。

使用 MVC 包装器将所有 MultiSelect 值发送到 Action 方法的正确方法是什么?

    .DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Read(read => read.Action("Documents_Read", "Document")
.Type(HttpVerbs.Post)
.Data("getCriteria"))

function getCriteria() {
var multisel = $("#sites").data("kendoMultiSelect").value();
return {
sitesFilter: multisel
};
}

public ActionResult Documents_Read([DataSourceRequest] DataSourceRequest request, string sitesFilter=null)
{
return Json(GetDocuments(sitesFilter).ToDataSourceResult(request), JsonRequestBehavior.DenyGet);
}

编辑: getCriteria 应将数据转换为字符串,如下所示:
 function getCriteria() {
var multisel = $("#sites").data("kendoMultiSelect").value().toString();
return {
sitesFilter: multisel
};

最佳答案

我的解决方案不使用 Ajax,而是描述了将多选值传输到 Controller 的一般方式! Ajaxify 它,模型传输应该同样工作!

.cshtml 过滤 View :带有选择字段的表单将选择的值发布到 Controller 。 Model.Products 是具有属性 ID 和 DisplayName 的类型产品列表。

<div class="editor-field">
@{
IEnumerable<Product> productSelectList = Model.Products;
Html.Kendo().MultiSelectFor(model => model.ProductIds)
.BindTo(new SelectList(productSelectList, "ID", "DisplayName"))
.HtmlAttributes(new { style = "width: 400px;" })
.Render();
}
</div>

Controller .cs:行动
[HttpPost]
public ActionResult SearchForLicenseTerm(SearchLicenseTermFilterViewModel searchLicenseTermFilterViewModel)
{
// Search logic
}

型号.cs:使用的具体型号
public class SearchLicenseTermFilterViewModel
{
public SearchLicenseTermFilterViewModel()
{
ProductIds = new List<Guid?>();
}
public List<Guid?> ProductIds { get; set; }
}

在 Controller 操作.jpeg 中接收到 POST 数据:您正在看到 Kendo.MultiSelect 中选择条目的填充 GUID 列表

enter image description here

关于kendo-ui - Kendo UI MVC 将 MultiSelect 数据值发送到 Action 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15712086/

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