我有一个下拉菜单和一个树视图拖放。
@ Html.DropDownListFor(model => model.xyz,Model.xyzlist,new {id =“ dropdownid”})

现在我想在jQuery中的下拉更改事件上调用控制器操作方法。

<script>
var id = 0;
      $('#dropdownid').change(function(){
         id= $('#dropdownid').val();
     });


如何在read:{} perameter的URL中使用id变量

datasource= new kendo.data.HierarchicalDataSource({
                                    transport: {
                                        read: {
                                            url: "@Html.Raw(Url.Action("actionmethod", "controllername", new { @ID= id }))",
                                            type: "POST",
                                            dataType: "json"
                                        }
                                    },
                                    schema: {
                                        model: {
                                            id: "id",
                                            hasChildren: "hasChildren",
                                            //expanded: true
                                        }
                                    }
                                });



 $(document).ready( function(){
                                $("#CountryZone-treeview").kendoTreeView({
                                    loadOnDemand: false,
                                    dataSource: datasource,
                                    dataTextField: "Name",
                                    dragAndDrop: true,..................etc

</script>


请帮我。

最佳答案

您可以使用transport.read.data对象(see Kendo documentation here)发送其他数据。您的数据源可能如下所示:

datasource = new kendo.data.HierarchicalDataSource({
                                    transport: {
                                        read: {
                                            url: "@Html.Raw(Url.Action("actionmethod", "controllername", new { @ID= id }))",
                                            type: "POST",
                                            dataType: "json"
                                            data: { data: $('#dropdownid').val() }
                                        }
                                    },
                                    schema: {
                                        model: {
                                            id: "id",
                                            hasChildren: "hasChildren",
                                            //expanded: true
                                        }
                                    }
                                });


您还可以为data提供一个函数名称(例如getDropDownId()),而不是为$('#dropdownid').val()提供更强大的代码(空检查等)。

09-28 03:11