TreeView无刷新获取text及value实现代码

459 查看

前台代码:
复制代码 代码如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
    <style type="text/css">
    #middle{ top:0; left:0;background-color:#fff; position:absolute; z-index:2; filter:alpha(opacity=60); display:none;}
    #showTree{ width:300px; height:200px; position:fixed; z-index:2; display:none; border:1px solid red;}
    </style>
    <script type="text/javascript">
        function ShowDIv() {
            var txt = document.getElementById("txt");
            txt.blur();
            var divmid = document.getElementById("middle");
            divmid.style.display = "block";
            divmid.style.width = "100%";
            divmid.style.height = "100%";
            var divshow = document.getElementById("showTree");
            divshow.style.display = "block";
            divshow.style.left = txt.offsetLeft;
            divshow.style.top = txt.offsetTop;
            return false;
        }
        function CloseDiv() {
            var divmid = document.getElementById("middle");
            divmid.style.display = "none";
            var divshow = document.getElementById("showTree");
            divshow.style.display = "none";
            return false;
        }
        function TreeViewClick() {
            if (event.srcElement.innerText == "" || event.srcElement.length <= 0 || event.srcElement.nameProp == undefined) {
                return true;
            }
            var id = event.srcElement.id;
            var a = document.getElementById(id);
            var href = a.href;
            var index = href.indexOf("#");
            var retstr = href.substr(index + 1);
            //
            var ret = a.innerText;
            if (ret != "") {
                document.getElementById("txt").value = ret;
                document.getElementById("TextBox2").value = retstr;
                document.getElementById("HiddenField1").value = retstr;
            }
            return false;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:HiddenField ID="HiddenField1" runat="server" />
        <asp:Button ID="Button1" runat="server" Text="显示value" onclick="Button1_Click" />
    <br />
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
    Text:<asp:TextBox ID="txt" runat="server" onfocus="return ShowDIv()"></asp:TextBox>
    <br />
    Value:
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    </div>
    <div id="middle"></div>
    <div id="showTree">
    <br />
    <br />
    <input type="button" value="close" onclick="return CloseDiv()" />
        <asp:TreeView ID="TreeView1" runat="server">
        <Nodes>
        <asp:TreeNode Text="A" Value="0" NavigateUrl="#0">
        <asp:TreeNode Text="A1" Value="00" NavigateUrl="#00">
        <asp:TreeNode Text="A11" Value="000" NavigateUrl="#000"></asp:TreeNode>
        <asp:TreeNode Text="A12" Value="001" NavigateUrl="#001"></asp:TreeNode>
        </asp:TreeNode>
         <asp:TreeNode Text="A2" Value="01" NavigateUrl="#01"></asp:TreeNode>
          <asp:TreeNode Text="A3" Value="02" NavigateUrl="#02"></asp:TreeNode>
        </asp:TreeNode>
        <asp:TreeNode Text="B" Value="1" NavigateUrl="#1">
        <asp:TreeNode Text="B1" Value="10" NavigateUrl="#10"></asp:TreeNode>
         <asp:TreeNode Text="B2" Value="11" NavigateUrl="#11"></asp:TreeNode>
          <asp:TreeNode Text="B3" Value="12" NavigateUrl="#12"></asp:TreeNode>
        </asp:TreeNode>
        </Nodes>
        </asp:TreeView>
    </div>
    </form>
</body>
</html>

后台代码:
复制代码 代码如下:

public partial class newpage_Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        this.TreeView1.Attributes.Add("onclick", "return  TreeViewClick()");//增加特性,实现无自动回传
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        this.TextBox1.Text = this.HiddenField1.Value;
    }
}