TreeView绑定SiteMapDataSource显示菜单的时候,
菜单显示出来后,能否在菜单点击的时候,
提交到服务端,做一些处理?
比如触发SelectedNodeChanged事件。    <asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1" ImageSet="Msdn"
        Width="200px">
        <ParentNodeStyle Font-Bold="False" />
        <HoverNodeStyle Font-Underline="True" BackColor="#E0E0E0" BorderColor="#888888" BorderStyle="Solid"
            BorderWidth="1px" />
        <SelectedNodeStyle Font-Underline="False" HorizontalPadding="2px" VerticalPadding="3px"
            BackColor="White" BorderColor="#888888" BorderStyle="Solid" BorderWidth="1px"
            Font-Bold="True" />
        <NodeStyle Font-Names="Verdana" Font-Size="8pt" ForeColor="Black" HorizontalPadding="5px"
            NodeSpacing="3px" VerticalPadding="2px" />
    </asp:TreeView>
    <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="False"
        SiteMapProvider="SiteMapProvider_SALE" />

解决方案 »

  1.   

    DataBinding事件
    SelectNodeChanged事件。。很多。。自己看看就行了。
      

  2.   

    我知道TreeView有一些事件
    生成的菜单上的节点,鼠标放上去后
    直接显示就是
    http://localhost:1270/SALE/SALE_001.aspx
    这样的话不能触发事件TreeView 需要怎样设置后,才能触发这些事件
    而不是直接生成上面的超链接
      

  3.   

    处理一些事件,楼主的意图,是不是想实现链接地址出现GET传递形式,而不是单一的链接地址,如SALE_001.aspx?id=1、SALE_001.aspx?id=2.....   ??
      

  4.   

    我的意思是
    电击菜单的时候,在后台进行一些处理
    然后再转到链接的地址页面<siteMapNode title="订单1" url="~/SALE/SALE_001.aspx" />
    <siteMapNode title="订单2" url="~/SALE/SALE_001.aspx" />比如绑定后,鼠标放到菜单上,显示
    javascript:__doPostBack('ctl00$TreeView1','s订单1')
    这个菜单按下去之后,提交到后台,触发SelectNodeChanged事件
    Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs) 
        
         能否在这里转移到siteMap中定义的url?在其他地方跳转也行
    End Sub
      

  5.   

    已经解决
    <asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1" >
    <DataBindings>
    <asp:TreeNodeBinding DataMember="siteMapNode" TextField="title"/>
    </DataBindings>
    </asp:TreeView>
    <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="False" SiteMapProvider="SiteMapProvider_SALE" />Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeView1.SelectedNodeChanged
            
        Response.Redirect(TreeView1.SelectedNode.DataPath)
    End Sub