javascript - 如何将选定的值从多选(Kendo MultiSelect)发送到 viewModel

标签 javascript jquery asp.net-mvc kendo-asp.net-mvc multi-select

我正在使用 Kendo MultiSelect在我的 mvc5项目。所以我有一个 multiselect 的 View :

@model Library.ViewModels.Models.BookViewModel

@{
    ViewBag.Title = "Edit";
}
<script>
    $(document).ready(function () {
        $("#multiselect").kendoMultiSelect({
            placeholder: "--Select Public Houses--",
            dataTextField: "PublicHouseName",
            dataValueField: "PublicHouseId",
            autoBind: true,
            dataSource: {
                transport: {
                    read: {
                        dataType: "json",
                        url: "/book/getallpublichouses"
                    }
                }
            }
        });
    });
</script>

我有 2 个 View 模型:

public class BookViewModel
    {
        public int BookId { get; set; }

        public string Name { get; set; }

        public string AuthorName { get; set; }

        public int YearOfPublishing { get; set; }

        public  ICollection<PublicHouseViewModel> PublicHouses { get; set; }

    }



public class PublicHouseViewModel
    {
        public int PublicHouseId { get; set; }

        public string PublicHouseName { get; set; }

        public string Country { get; set; }

        public  ICollection<BookViewModel> Books { get; set; }
    }

在我的 Kendo MultiSelect a 从 Book Controller 中以 JSON 格式获取所有 Public Houses。接下来我选择了一些值:

那么,我怎样才能在 public ICollection<PublicHouseViewModel> PublicHouses { get; set; } 中传递这个选定的值呢?属性(property) BookViewModel

enter image description here

最佳答案

您可以使用:

public int[] PublicHouses { get;放; }

代替:

 public  ICollection<PublicHouseViewModel> PublicHouses { get; set; }

或者您可以在 BookViewModel 中创建一个仅用于发布的新字段。 当您从 kendoMultiSelect 发布值时,他仅发布 "dataValueField"。仅发布 ID 后,您可以在 POST 操作中执行其余逻辑。

这取决于您如何实现 POST 操作以及两个表之间的关系:是 1...N 还是 N... .N.

关于javascript - 如何将选定的值从多选(Kendo MultiSelect)发送到 viewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49527473/

相关文章:

javascript - 用于静态 Web 项目的 Maven

javascript - 在jquery中的数组中选中或不选中复选框

c# - 以MVC形式动态添加元素

c# - 如何重定向到同一 Controller 的索引页面

javascript - ckeditor拖放txt文件

javascript - 提交后清除 Redux 表单 - 多个单选按钮

javascript - 如何隐藏动态创建的div

c# - 如何在重定向到 ASP .NET MVC 中的另一个操作时保存模型状态?

javascript - 如何通过node.js在ejs file::Javascript上显示存储在mySQL中的数据

javascript - 如何让同一类的两个 div 在屏幕上移动?