为了账号安全,请及时绑定邮箱和手机立即绑定

将所选值 Id 从父项传递给子项 Kendo DropdownList

将所选值 Id 从父项传递给子项 Kendo DropdownList

红糖糍粑 2023-07-29 16:22:03
我有一个使用 jquery 和 Kendo UI 的级联 Kendo DropdownList。我的问题是,我想将选定的值 Id 从父级传递给子级,这意味着将 StateId 传递到城市 DropdownList 并根据选定的 StateId 过滤城市,但是当我尝试调试它时,我遇到了一些奇怪的情况,即 StateId 为空。有谁可以帮助我吗?谢谢。   [HttpPost]       public async Task<JsonResult> GetCities(DataSourceRequest request, CancellationToken cancellationToken = default)        {            request.Skip = 0;            request.Take = 2000;            var city = await _cityService.GetCities(request, cancellationToken);            return Json(city);        }正如你所看到的,该值为 null,这是我的 jquery 代码部分... $("#drpState").kendoDropDownList({                optionLabel: "States...",                delay: 10,                dataTextField: "Name",                dataValueField: "StateId",                dataSource: {                    type: "json",                    serverFiltering: true,                    transport: {                        read: {                            headers: {                                "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val()                            },                            type: "Post",                            dataType: "json",                            url: "/Supervision/Tracking/GetStates",                        }                    },                    schema: { data: 'Data' }                },            }).data("kendoDropDownList");
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

当我尝试调试它时,我遇到了一些奇怪的事情,即 StateId 为空。

我使用Kendo UI jQuery DropDownList和 ASP.NET Core WebAPI 作为后端服务进行了测试,我可以重现相同的问题。

基于JS客户端发出的请求的formdata,为了使ASP.NET Core端点能够很好地接受和处理这些数据,您可以尝试以下解决方法。

自定义模型类

public class DataSourceRequestForCore

{

    public int Take { get; set; }

    public int Skip { get; set; }

    public FilterForCore filter { get; set; }

}


public class FilterForCore

{

    public string logic { get; set; }

    public List<FilterEntry> filters { get; set; }

}


public class FilterEntry

{

    [DataMember(Name = "field")]

    public string Field { get; set; }


    [DataMember(Name = "operator")]

    public string Operator { get; set; }


    [DataMember(Name = "value")]

    public string Value { get; set; }

}

动作方法


[HttpPost]

public async Task<JsonResult> GetCities(DataSourceRequestForCore request, CancellationToken cancellationToken = default)

{

    request.Skip = 0;

    request.Take = 2000;


    //....

    //code logic here

测试结果

https://img4.sycdn.imooc.com/64c4cc8b00014d8010790218.jpg


查看完整回答
反对 回复 2023-07-29
  • 1 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信