Javascript 从按钮访问TreeView的HtmlAttribute单击

Javascript 从按钮访问TreeView的HtmlAttribute单击,javascript,asp.net-mvc,asp.net-mvc-4,razor,kendo-ui,Javascript,Asp.net Mvc,Asp.net Mvc 4,Razor,Kendo Ui,我试图从树视图的选定节点访问HtmlAttribute,但我不知道如何通过单击按钮来获取它 我使用的是MVC4剑道UI剃须刀引擎 在添加子分支之后,我添加了html属性,我想在单击按钮发送到另一个视图时获取所选的“TypeId” 我尝试了下面的链接,但是当它试图将参数发送到控制器/操作时,我尝试的所有操作都给了我一个空引用。如果我硬编码一个像1这样的id,则单击会按预期工作: 以下是脚本: <script> $("#btn").click(functi

我试图从树视图的选定节点访问HtmlAttribute,但我不知道如何通过单击按钮来获取它

我使用的是MVC4剑道UI剃须刀引擎

在添加子分支之后,我添加了html属性,我想在单击按钮发送到另一个视图时获取所选的“
TypeId

我尝试了下面的链接,但是当它试图将参数发送到控制器/操作时,我尝试的所有操作都给了我一个空引用。如果我硬编码一个像1这样的id,则单击会按预期工作:

以下是脚本:

    <script>

        $("#btn").click(function () {
            var treeview = $("#TreeView").data("kendoTreeView");//how to grab the selected idtopass?
            window.location = "@Url.Action("Index","Content")" + "?id=" + idtopass;
        });

        $(document).ready(function() {
            treeview = $("#TreeView").data("kendoTreeView");
        });
    </script>
当我选择一个子元素,然后右键单击并检查元素时,这里是GoogleChromeInspector

<li class="k-item" data-id-to-pass="30" data-uid="151ce59e-97cf-4aed-b8d7-3054c886d68c" role="treeitem" aria-selected="true" id="treeview_tv_active">
    <div class="k-top">
        <span class="k-in k-state-selected">This is the Test Text</span>
    </div>
</li>
  • 这是测试文本

  • 如果在DOM中设置id,那么在下面的演示中应该很容易。你检查过那个部件是否工作了吗?我使用Chrome并右键单击“Inspect element”来查看DOM结构。

    要使用该属性获取值,在onSelect方法中,e.node应该为您提供DOM节点。我猜您的data\u id\u to\u pass属性位于该节点或其父节点上。类似于$(e.node.attr(“数据\u id\u to\u pass”)或$(e.node.parent().attr(“数据\u id\u to\u pass”)

    如果要从按钮单击处理程序获取所选节点,请使用treeview.select()获取所选节点


    您是否尝试过使用第一个链接中提到的Id属性?这似乎是更好的办法。应该能够执行treeview.dataItem(treeview.select()).Id,如果他所说的对填充dataItem上的Id属性有效。

    我检查了元素,例如,“data idtopass=“26”确实如预期显示。这就是我试图抓住并发送到视图的内容。我会试试你的建议。谢谢请投大力支持票。是的,数据\u id\u to\u pass位于正在使用的子节点上。id为该操作抛出了一个null参数。
    <li class="k-item" data-id-to-pass="30" data-uid="151ce59e-97cf-4aed-b8d7-3054c886d68c" role="treeitem" aria-selected="true" id="treeview_tv_active">
        <div class="k-top">
            <span class="k-in k-state-selected">This is the Test Text</span>
        </div>
    </li>