asp.net中的treeview触发事件

昨天做的treeview就是触发不了SelectedNodeChanged事件。

 

treeview有两种模式:一个是导航模式,一个是选择模式
区别就是有没有url那个属性

 

如果这个属性是空的,就能重复激发那个事件了,否则只触发一次

 

                        myNode.Text = myDataTable.Rows[j][0].ToString();
                        myNode.Value = myDataTable.Rows[j][0].ToString();
                        myNode.NavigateUrl = "~/WebFiles/advises.aspx?adiTitle=" + myNode.Text;


                        //myNode.Value = "~/WebFiles/advises.aspx";


                        myNode.Target = "main";
                        this.indexnav.Nodes[i].ChildNodes.Add(myNode);

 

但是出现了一个问题:如果数据库中有一条数据,正确加载,如果出现多条,最后一行报错:下标越界

设了断点,就是发现不了错误在哪,后来将TreeNode myNode = new TreeNode();
房在循环体内部就正确了。 

for (int i = 0; i < this.indexnav.Nodes.Count; i ++)
        {
            if (this.indexnav.Nodes[i].Text == "行政审批")
            {
               
                DataTable myDataTable;
                int rowNum;

                string mySql = "select apm_moduleName from appcModule";

                myDataTable = myDatabase.selectData(mySql);
                rowNum = myDataTable.Rows.Count;
                if (rowNum != 0)
                {
                    for (int j = 0; j < rowNum; j++)
                    {
                        TreeNode myNode = new TreeNode();
                        myNode.Text = myDataTable.Rows[j][0].ToString();
                        myNode.Value = myDataTable.Rows[j][0].ToString();
                        myNode.NavigateUrl = "~/WebFiles/advises.aspx?adiTitle=" + myNode.Text;
                        //myNode.Value = "~/WebFiles/advises.aspx";
                        myNode.Target = "main";
                        this.indexnav.Nodes[i].ChildNodes .Add(myNode);
                        //myNode = null;
                  }
                }

                break;
            }
           
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值