我做了个树型目录,想要获取选中的节点的名称.但我定义的TreeView_SelectedIndexChange()事件并没有被执行.求高手指教.代码如下:
private void TreeView_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
{
 text.Value=TreeView.GetNodeFromIndex(TreeView.SelectedNodeIndex).Text; },其中AutoPostBack属性社为False,如社为ture的话TreeView_SelectedIndexChange()就可以执行,我试过了的,但是刷新得让我感到痛苦,有没有什么方法 ,在AutoPostBack属性社为False的时候,也会执行TreeView_SelectedIndexChange()事件?

解决方案 »

  1.   

    /// <param name="e"></param>
    private void Page_Load(object sender, System.EventArgs e)
    {
    // Reset Error
    this.lblError.Text = string.Empty; if (!this.IsPostBack)
    {
    try
    {
    SetPageItem(); string strTreeViewImageUrl = System.Configuration.ConfigurationSettings.AppSettings["TreeViewImageUrl"];
    tvDocDir.Dispose();
    tvDocDir.SystemImagesPath = strTreeViewImageUrl + "treeimages/";
    tvDocDir.ImageUrl = strTreeViewImageUrl + "images/folder.gif";
    tvDocDir.ExpandedImageUrl = strTreeViewImageUrl + "images/folder.gif";
    tvDocDir.SelectedImageUrl = strTreeViewImageUrl + "images/folderopen.gif"; this.rebuildTree("0"); tvDocDir_SelectedIndexChange( new object() , new Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs("0","0"));
    }
    catch( Exception ex )
    {
    this.Response.Redirect("Error.aspx?errorMsg="+Server.UrlEncode(ex.Message));
    }
    } // Set Tree Not PostBack
    string  strTreeName  =  "tvDocDir";  
    string  strRef  =  Page.GetPostBackEventReference(tvDocDir);  
    string  strScript = "<script language=\"JavaScript\"> \n" + "<!-- \n" + " function initTree() { \n" +" " + strTreeName + ".onSelectedIndexChange = function() { \n" + "if (event.oldTreeNodeIndex != event.newTreeNodeIndex) \n" + "this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex); \n" + "window.setTimeout('" + strRef.Replace("'","\\'") + "', 0, 'JavaScript'); \n" + " } \n" + " } \n" + "// --> \n" + "</script>";  
    Page.RegisterClientScriptBlock("InitTree",strScript  );
    }
      

  2.   

    <DIV style="OVERFLOW: auto; WIDTH: 100%; POSITION: absolute; HEIGHT: 100%"><iewc:treeview id="tvDocDir" runat="server" ImageUrl="Runtime/images/folder.gif" SystemImagesPath="Runtime/treeimages/" Width="100%" Height="100%" ExpandLevel="1" AutoPostBack="False" ShowToolTip="False"></iewc:treeview></DIV></td></tr>
      

  3.   

    如果autopostback为false,表示改变的时候不往服务器上发送,这样的话,如何执行那些代码呢?不过可将你要实现的功能通过javascript来实现