C# Treeview(剑道UI)与同一页面上的文本框MVC4中的最佳实践?

C# Treeview(剑道UI)与同一页面上的文本框MVC4中的最佳实践?,c#,asp.net-mvc,asp.net-mvc-3,telerik-mvc,kendo-ui,C#,Asp.net Mvc,Asp.net Mvc 3,Telerik Mvc,Kendo Ui,假设我有一个Kendo treeview绑定到远程数据源的视图 @(Html.Kendo().TreeView() .Name("schemas") .DataTextField("name") .DataSource(dataSource => dataSource.Read(read => read.Action("Schemas", "Forms"))) .Events(events => events .Select("onSel

假设我有一个Kendo treeview绑定到远程数据源的视图

@(Html.Kendo().TreeView()
    .Name("schemas")
    .DataTextField("name")
    .DataSource(dataSource => dataSource.Read(read => read.Action("Schemas", "Forms")))
    .Events(events => events
    .Select("onSelected")))
所以树视图只是在我的FormsController中调用Schemas操作

同样在同一页上,我有一个表单,它只是一个文本框和一个提交表单的按钮

@using (Html.BeginForm("Load", "Forms", FormMethod.Post))
{   
    <div id="rootNode">
        @Html.TextBox("rootElementName")            
        @Html.Button("next")
    </div>
}
所以我想知道处理用户输入并将其传递给FormsController的加载操作的最佳方法是什么?用户应在树视图中选择一个选项,并在文本框中输入值。
或者我应该为我的视图创建某种类型的viewmodel,将我的所有节点都放在里面,并为文本框输入和所选节点创建两个附加字段?

我会取出表单元素,留下:

<div id="rootNode">
    @Html.TextBox("rootElementName")            
    @Html.Button("next")
</div>
在下面的js中,这将在select上获取树项目id。 第二个函数将使用参数调用窗体控制器操作

<script>
    var selectedNodeid;

    //get the tree selected item id
    function onSelected(e) {
        var data = $('#schemas).data('kendoTreeView').dataItem(e.node);
        selectedNodeid = data.id;
    }

    //button on click event
    $(document).ready(function () {
        $("#next")
        .bind("click", function () {  
           //get parameters then pa
           var id = selectedNodeid;
           var rootElementName = $('#rootElementName).val()
           $.ajax({ 
             url: "Form/Load", 
             data:{id:id,rootElementName:rootElementName},
             success: function () { } 
           });
        }
     })
</script>
我还没有测试过,但应该很接近。
我期待有人加入一个更好的方法

好的,但是如何从加载操作返回并显示视图?是否要重定向到视图或在当前页面中将其显示为部分?