asp.net treeview
我现在得项目是想实现点击左侧iframe中的treeview中的节点,将值传给父窗体中的lable,同时将关联界面显示到右边的iframe,现在能实现,但是selectnodechangged事件老是点第一次不跳转,只传值,点第二次才跳转,请问有什么好的解决方法吗?部分代码--------------------编程问答-------------------- http://topic.csdn.net/u/20120524/10/0588ab9d-5d2c-4698-8901-bb6333142d3c.html
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
int i = 0;
string str = "";
TreeNode node = TreeView1.SelectedNode;
while (i <= TreeView1.SelectedNode.Depth)
{
string temp = "";
if (node.Value.Trim() == string.Empty)
{
temp = "--><a href=#><font color=white>" + node.Text + "</font></a>";
}
else
{
temp = "--><a href=" + node.Value + " target=if2><font color=white>" + node.Text + "</font></a>";
}
str = temp + str;
node = node.Parent;
i++;
}
Response.Write("<script>window.parent.document.getElementById('lbl1').innerHTML='" + str + " '</script>");
TreeView1.SelectedNode.NavigateUrl = TreeView1.SelectedNode.Value;
TreeView1.SelectedNode.Target = "if2";
}
http://topic.csdn.net/u/20120529/15/75e6c9d9-5f55-4713-b341-fbf1cb52fe05.html
http://topic.csdn.net/u/20120528/17/8fc50d63-d913-4187-9354-da7310ec8efa.html
http://topic.csdn.net/u/20120528/08/81a0f676-1cad-4dcf-96bf-71cbf88e3775.html
领分
顺便帮顶!!!!!!! --------------------编程问答-------------------- 参考
//获取节点ID值--------------------编程问答-------------------- 为什么不在生成树的时候,就把NavigateUrl这个属性绑定好呢。。点击时候直接不就可以连接了。。
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
TreeNode tnodeSel = TreeView1.SelectedNode;
//判断是否为根节点 执行函数改变是否选择节点的状态
if (tnodeSel.Depth == 1)
{
FN_TreeSelect(TreeView1.SelectedNode);
}
//不是根节点也继续执行
else if (tnodeSel.Depth != 1)
{
FN_TreeSelect(TreeView1.SelectedNode);
}
else
{
FN_TreeSelect(TreeView1.SelectedNode);
}
}
//解决重复点击SelectedNodeChanged无法响应的问题
private void FN_TreeSelect(TreeNode tnodeSel)
{
//判断选中的节点ID是否为空
if (this.TreeView1.SelectedNode.Value.ToString() != null)
{
GetFolderId = this.TreeView1.SelectedNode.Value.ToString(); //取得节点ID
FolderName = this.TreeView1.SelectedNode.Text.ToString(); //取得节点名称
Session["id"] = GetFolderId;//存放节点ID
Session["FolderName"] = FolderName; //存放节点名称
}
//注册脚本语言传递FolderId
Page.ClientScript.RegisterStartupScript(Page.GetType(), "js", "window.parent.frames['RightFrame'].location.href='../PublicResources/PublicResources.aspx?id=" + GetFolderId + "&FolderName=" + FolderName + "'", true);
/*点击图标等于点击+ -展开收缩*/
//if( tnodeSel.ChildNodes.Count > 0 )
//{
// //if( tnodeSel.ChildNodes[0].Expanded == true )
// //{
// // tnodeSel.CollapseAll();
// //}
// //else
// //{
// // tnodeSel.Expand();
// //}
//}
//当对一个节点进行SelectedNodeChanged后,如果再次连续单击这个节点,则SelectedNodeChanged不会再触发,为了使SelectedNodeChanged每次都执行,要进行如下操作:在SelectedNodeChanged事件里,对选中的节点马上将其Selected属性置为false
tnodeSel.Selected = false;
}
补充:.NET技术 , ASP.NET