1

まず私の英語で申し訳ありません。ASP.NET MVC4 の KendoUI TreeView コントロールに問題があります。

<div class="treeview-back">
@(Html.Kendo().TreeView()
    .Name("treeview-left")
    .DragAndDrop(true)
    .Events(ItemAction)
    .BindTo(Model)
)

ツリービューとバインドされたイベント OnDrop を取得しました。

function OnDrop(e) {
dropped = GetValueFromTags(e.destinationNode.innerHTML);
inDrag = !inDrag;
OnHover();
e.setValid(e.valid && id > 10000);
if (e.valid && id > 10000) {

    var webMethod = "/Sitemap/UpdateData";
    var data = $("div.treeview-back").find("span.items").text();
    //var data = $("div.treeview-back").data("kendoTreeView").dataSource.data();
    console.log(data);

    $.ajax({
        type: "POST",
        url: webMethod,
        data: data,
        contentType: "application/json",
        dataType: "json",
        converters: {
            'text json': true
        },
        success: function(data) {

        },
        error: function(data) {
            console.log("error: " + data);
        }
    });
}

}

そしてコントローラーでの私の行動:

    [HttpPost]
    public ActionResult UpdateData(IEnumerable<TreeViewItemModel> data) 
    {
        // some database operations here
        return Json(data);
    }

ツリービューの現在の状態をアクションに送りたいと思います。問題は、現在のメソッドが null を送信していることです。データソースを送信できましたが、それは元のデータ (開始時に制御するもの) であり、現在のものではありません。

助けてくれてありがとう、Łukasz

4

0 に答える 0