C# Kendo UI Asp.Net MVC组合框筛选器未从服务器更新
我正在使用Telerik(剑道用户界面)的u组合框组件。 我遵循了Telerik网站上提到的所有步骤,但不知何故,我无法通过服务器正确过滤。过滤器工作正常,除一个问题外,所有问题都通过了。仅当我单击其他位置时,过滤器才会应用,因此列表会隐藏在组合框中,如果我再次单击它,过滤器才会应用。所以我必须从组合框中切换列表,然后我必须再次打开列表。这很奇怪,因为我遵循了Telerik的所有步骤。 我正在使用工作正常的服务器进行筛选 我的组合框代码:C# Kendo UI Asp.Net MVC组合框筛选器未从服务器更新,c#,asp.net,combobox,kendo-ui,telerik,C#,Asp.net,Combobox,Kendo Ui,Telerik,我正在使用Telerik(剑道用户界面)的u组合框组件。 我遵循了Telerik网站上提到的所有步骤,但不知何故,我无法通过服务器正确过滤。过滤器工作正常,除一个问题外,所有问题都通过了。仅当我单击其他位置时,过滤器才会应用,因此列表会隐藏在组合框中,如果我再次单击它,过滤器才会应用。所以我必须从组合框中切换列表,然后我必须再次打开列表。这很奇怪,因为我遵循了Telerik的所有步骤。 我正在使用工作正常的服务器进行筛选 我的组合框代码: @(Html.Kendo().Combo
@(Html.Kendo().ComboBox()
.Name("ModellDrop")
.Placeholder("Modell...")
.DataTextField("ModellKurz")
.DataValueField("ModellKurz")
.HtmlAttributes(new { ng_model = "Modell.ModellKurz" })
.Filter(FilterType.Contains)
.AutoBind(false)
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetModell", "UserApi")
.Data("filterModell");
})
.ServerFiltering(true);
})
.CascadeFrom("HerstellerDrop")
)
[HttpGet]
public JsonResult GetModell(string Hersteller, string ModellFilter)
{
var List = _context.tbl_Hersteller_Modell.AsQueryable();
if(Hersteller != null)
{
List = List.Where(x => x.HerstKurz == Hersteller);
}
if (!string.IsNullOrEmpty(ModellFilter))
{
List = List.Where(p => p.ModellKurz.Contains(ModellFilter));
}
return Json(List, JsonRequestBehavior.AllowGet);
}
function filterModell() {
var Value = jQuery("#HerstellerDrop").data("kendoComboBox").value();
var FilterModell = jQuery("#ModellDrop").data("kendoComboBox").value();
return {
Hersteller: Value,
ModellFilter: FilterModell
};
}
我的服务器端代码:
@(Html.Kendo().ComboBox()
.Name("ModellDrop")
.Placeholder("Modell...")
.DataTextField("ModellKurz")
.DataValueField("ModellKurz")
.HtmlAttributes(new { ng_model = "Modell.ModellKurz" })
.Filter(FilterType.Contains)
.AutoBind(false)
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetModell", "UserApi")
.Data("filterModell");
})
.ServerFiltering(true);
})
.CascadeFrom("HerstellerDrop")
)
[HttpGet]
public JsonResult GetModell(string Hersteller, string ModellFilter)
{
var List = _context.tbl_Hersteller_Modell.AsQueryable();
if(Hersteller != null)
{
List = List.Where(x => x.HerstKurz == Hersteller);
}
if (!string.IsNullOrEmpty(ModellFilter))
{
List = List.Where(p => p.ModellKurz.Contains(ModellFilter));
}
return Json(List, JsonRequestBehavior.AllowGet);
}
function filterModell() {
var Value = jQuery("#HerstellerDrop").data("kendoComboBox").value();
var FilterModell = jQuery("#ModellDrop").data("kendoComboBox").value();
return {
Hersteller: Value,
ModellFilter: FilterModell
};
}
我的客户端代码:
@(Html.Kendo().ComboBox()
.Name("ModellDrop")
.Placeholder("Modell...")
.DataTextField("ModellKurz")
.DataValueField("ModellKurz")
.HtmlAttributes(new { ng_model = "Modell.ModellKurz" })
.Filter(FilterType.Contains)
.AutoBind(false)
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetModell", "UserApi")
.Data("filterModell");
})
.ServerFiltering(true);
})
.CascadeFrom("HerstellerDrop")
)
[HttpGet]
public JsonResult GetModell(string Hersteller, string ModellFilter)
{
var List = _context.tbl_Hersteller_Modell.AsQueryable();
if(Hersteller != null)
{
List = List.Where(x => x.HerstKurz == Hersteller);
}
if (!string.IsNullOrEmpty(ModellFilter))
{
List = List.Where(p => p.ModellKurz.Contains(ModellFilter));
}
return Json(List, JsonRequestBehavior.AllowGet);
}
function filterModell() {
var Value = jQuery("#HerstellerDrop").data("kendoComboBox").value();
var FilterModell = jQuery("#ModellDrop").data("kendoComboBox").value();
return {
Hersteller: Value,
ModellFilter: FilterModell
};
}
是否缺少某些内容,或者为什么列表没有自动刷新???我可以看看FilterModel函数吗?我编辑了我的问题@Clarice