【问题标题】:Error while using Kendo Multi Select dropdrown in bootbox dialog in MVC在 MVC 的引导框对话框中使用 Kendo Multiselect 下拉菜单时出错
【发布时间】:2019-03-20 18:38:00
【问题描述】:

我正在尝试在 MVC 的引导框对话框中使用 MultiSelect 下拉菜单,但它对我不起作用。 我尝试将以下代码放入消息中的 bootbox.dialog 中

@(Html.Kendo().MultiSelect().Name("userRoles").DataTextField("RoleName").DataValueField("RoleID").Enable(true).BindTo(new SelectList(ViewBag.Roles, "RoleID", "RoleName")))

我知道对于多选下拉菜单,以下代码可以使用,但我需要使用剑道多选,我注意到在引导框对话框之外它可以工作,但在内部使用时会出错

@Html.ListBox("userRoles", new SelectList(ViewBag.Roles, "RoleID", "RoleName"), new { @class = "form-control" })

它不会给出任何编译时错误。 错误如下:

“未捕获的语法错误:输入意外结束 在 eval()"

【问题讨论】:

  • 你能详细说明你的问题吗?在 bootbox 中,您使用的不是 kendo 多选而是 HTML 列表框,因此它将呈现一个简单的 html 列表框。您是否面临编译时错误或运行时错误?
  • 我已经创建了一个带有一些文本框字段和下拉菜单的引导框对话框。所以我需要在引导框对话框中添加一个新控件,即剑道下拉控件。
  • 检查下面的答案。

标签: c# asp.net-mvc view kendo-grid bootbox


【解决方案1】:

据我了解,您需要在引导框弹出窗口中呈现 Kendo 下拉菜单。你可以这样做:

剃刀 C#:

@{
    string htmlstring = "";
    htmlstring += "<select id='userRoles'>";
    foreach (Role role in ViewBag.Roles)
    {
        htmlstring += "<option value='" + role.RoleID + "'>" + role.RoleName + "</option>";
    }
    htmlstring += "</select>";
}

脚本:

    <script>
        var renderString = "@Html.Raw(htmlstring)";
        var dialog = bootbox.dialog({
            title: 'A custom dialog with init',
            message: renderString
        });

        var required = $("#userRoles").kendoMultiSelect().data("kendoMultiSelect");

    </script>

显示为:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    相关资源
    最近更新 更多