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 に答える