1

我已经为此工作了很长一段时间,但没有找到任何可以解决我的问题的方法。当我选择一个节点时,我希望该节点的值填充一个文本框。我可以使用 vb codebehind 让它工作,但它会导致回发,我不希望它这样做。我想尝试使用 javascript 来代替,但我不确定在哪里调用该函数或如何设置它。

这是我的树视图的代码和我想将其发送到的文本框:

<asp:TextBox ID="tbSelectedOrg" runat="server" Enabled="false" asp:TextBox>
              <asp:TreeView 
                ID="tvOrganizationTree" 
                ExpandDepth="0"
                runat="server" 
                PopulateNodesFromClient = "true" 
                ShowLines="true" 
                ShowExpandCollapse="true"
                OnSelectedNodeChanged="tvOrganizationTree_SelectedNodeChanged"> // currently calls vb code causing postback
              </asp:TreeView>
4

2 回答 2

1

我很快就创建了这个例子。试试看。

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
    $(document).ready(function () {
        $("#<%= TreeView1.ClientID %> div a").click(function () {
            $("#txt").val(this.innerHTML);
            return false;
        });
    });
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:TreeView ID="TreeView1" runat="server">
    </asp:TreeView>
    <input type="text" id="txt" />
</asp:Content>

祝你好运!

于 2012-07-10T22:46:00.033 回答
0

我会使用 JQuery 来解决这样的问题。

这段代码并不完美,但应该让您知道在哪里查看:

 $("#tvOrganizationTree .what-ever-class-aspnet-gives-the-nodes")
        .click(function() 
        { 
            $("#id-of-textbox").html(this.html());
        });
于 2012-07-10T20:54:45.437 回答