Kendo ASP.Net MVC:如何同时拥有Filter和Cascade?

时间:2019-06-30 21:48:14

标签: asp.net-mvc kendo-ui html.dropdownlistfor

我尝试了以下设置组合:将服务器过滤设置为false:这允许在文本框中进行过滤(设置为filtertype:contains),但会中断级联。如果我将其设置为true,则文本框不会过滤下拉菜单的内容。我如何才能同时工作?

这是我们的模板(与编辑器一起显示)

@(Html.Kendo().DropDownList()
    .Name(ViewData.TemplateInfo.HtmlFieldPrefix)
    .DataTextField("Name")
    .DataValueField("ID")
    .ValuePrimitive(true)
    .AutoBind(false)
    .DataSource(source =>
    {
        source.Read(read =>
        {
            read.Action(action, "Support", routeValues)
                    .Data(filterFunction);  // using @<text></text> so the string is included without being quoted
        })
        .ServerFiltering(true);
    })
    .OptionLabel(OptionLabelText)
    .Value(Model.ToString())
    .ValueTemplate("#= data.Name # ") //style of selected
    .Template("#= data.Name # ")      //style within dropdown
    .CascadeFrom(cascadeFrom)
    .HtmlAttributes(HtmlAttributes)
    .Events(e =>
    {
        e.Select("onSelect");
    })

它从编辑器中设置的viewData变量中获取诸如层叠式之类的参数,如下所示:

        <div class="popup-editor-label">
        @Html.LabelFor(model => model.AuthorityID)
    </div>
    <div class="popup-editor-field">
        @Html.EditorFor(model => model.AuthorityID, new { Table = "GetAuthorities", filter = "filterAuthorityID", OptionLabelText = "(SELF)" })
    </div>

相当标准的东西。如果没有传入,大多数都会设置为大括号,这样我们就可以通过这种方式为每个下拉菜单使用一个模板。

重复问题:为了使级联和过滤同时起作用,我必须与模板做些什么??

0 个答案:

没有答案