none
TreeView的“SelectedNodeChanged”方法不执行 RRS feed

  • 问题

  • TreeView的节点,设置了“NavigateUrl”属性,然后只要一点击节点就会跳转到指定页面,当然,TreeView依然在左则。

    现在想获得被点击的节点的“Text”属性,以及其父节点的“Text”属性,以便拼接成“Path”。。。

    可是现在发现,没有办法获取“被点击的节点”。通过“SelectedNodeChanged”来获取,但是发现“SelectedNodeChanged”根本不执行。

    方法如下:
    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
      {
      TreeNode tn = TreeView1.SelectedNode;
      M_Model.M_Static.Path = tn.Text.ToString();
      while (tn.Parent != null)
      {
      M_Model.M_Static.Path = tn.Text.ToString() + M_Model.M_Static.Path;

      tn = tn.Parent;
      }
      }

    该怎么办???怎样才能获取“被点击的节点”???
    有精到广,做出自己的特色。
    2011年10月30日 13:19

全部回复

  • 把NavigateUrl拿掉,這樣才能進到TreeView1_SelectedNodeChanged事件

    然後再TreeView1_SelectedNodeChanged事件裡,併接Path字符串,存在ViewState或Session

    再去Response.Redirect();

    然後在被定向的頁面的Page_Load事件去判斷

    if(Session["path"]!=null)

    {

       string path = (string)Session["path"];

     

       //顯示path....

    }


    Shadowと愉快なコード達

    2011年10月30日 15:17