web开发,asp.net1.1中如何取得treeview控件中前当选择的节点的值.因为我要使用该值做其它查询条件
这样取出来为什么是空的
string str=tvChange.SelectedNodeIndex.ToString();
str值一直都为零,不会随选择不同节点而变化
解决方案 »
- 谁知道好一点的JQuery入门教程推荐一下
- 我想做一个网页,就一个简单的页面,前台页面有,后台就两个地方需要,100元,有做的吗
- 用repeater做的表格,怎么控制表格中行行之间的背景颜色??急用!!在线等
- 哪里错了??
- 关于新浪等微博的API问题
- vs2008 里的控件拖不动,各位亲帮帮我吧。。好笨哦
- 图片上传后在页面提交前如何才能不让它写进数据库?
- 请问:上传大文件出错,什么原因?如何解决?
- 考试系统中,为了不让一个考号多人同时登录,怎样实现?急~~~~~~~
- 求一份C#收取邮件的源码
- ASP.NET AJAX 1.0 RC & Url Rewrite(UpdatePanel与Url Rewrite冲突的问题)
- 弹出窗口如何定位在当前页面的正中?
{
string str=tvChange.SelectedNodeIndex.ToString(); }
我要在SelectedIndexChange这个事件中得到tvChange这个树形控件当前选择节点的值.
Node有Text和nodedata属性等,你看你需要什么属性了
Node ne = tvChange.Nodes[tvChange.SelectedNodeIndex]
我使用的是c#,这里面都不能这样写啊.能不能详细点.
2 使用asp.net1.1,c#刚才楼上的说的我都做了,都不行.this.TreeView1.SelectedNode.Value; 根本没有SelectedNode这个属性
{
if (TreeView1.Nodes[i].Checked == true)
{
TreeView1.Nodes[i].Value
}
}
这个试试
private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
{
string str = TreeView1.SelectedNodeIndex.ToString();
string[] arIndex = str.Split('.');
int index = int.Parse(arIndex[0].Trim());
TreeNode tn = TreeView1.Nodes[index];
for (int i = 1;i < arIndex.Length;i++)
{
index = int.Parse(arIndex[i].Trim());
tn = tn.Nodes[index];
}
Response.Write(str + "<br>");
Response.Write(tn.Text);
}
ne.value或者ne.text
---------------------------
0.0
Node7 或者使用e.NewNode同样是当前节点的索引
<iewc:TreeView id="TreeView1" runat="server" AutoPostBack="True">
<iewc:TreeNode Text="Node0">
<iewc:TreeNode Text="Node7"></iewc:TreeNode>
</iewc:TreeNode>
<iewc:TreeNode Text="Node1"></iewc:TreeNode>
<iewc:TreeNode Text="Node2"></iewc:TreeNode>
<iewc:TreeNode Text="Node3"></iewc:TreeNode>
<iewc:TreeNode Text="Node4"></iewc:TreeNode>
<iewc:TreeNode Text="Node5"></iewc:TreeNode>
<iewc:TreeNode Text="Node6"></iewc:TreeNode>
</iewc:TreeView>
能否把你的例子贴出来给我运行一下,我把你的代码拷进去测试,输出一直都是"0",不知道是不是我哪里少加了什么东西啊.
---------------------
<%@ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Page language="c#" Codebehind="WebForm2.aspx.cs" AutoEventWireup="false" Inherits="WebTestApp.WebForm2" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm2</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<iewc:TreeView id="TreeView1" runat="server" AutoPostBack="True">
<iewc:TreeNode Text="Node0">
<iewc:TreeNode Text="Node7"></iewc:TreeNode>
</iewc:TreeNode>
<iewc:TreeNode Text="Node1"></iewc:TreeNode>
<iewc:TreeNode Text="Node2"></iewc:TreeNode>
<iewc:TreeNode Text="Node3"></iewc:TreeNode>
<iewc:TreeNode Text="Node4"></iewc:TreeNode>
<iewc:TreeNode Text="Node5"></iewc:TreeNode>
<iewc:TreeNode Text="Node6"></iewc:TreeNode>
</iewc:TreeView>
</form>
</body>
</HTML>
---------------------
webform2.aspx.csusing System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Microsoft.Web.UI.WebControls;namespace WebTestApp
{
/// <summary>
/// WebForm2 的摘要说明。
/// </summary>
public class WebForm2 : System.Web.UI.Page
{
protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.TreeView1.SelectedIndexChange += new Microsoft.Web.UI.WebControls.SelectEventHandler(this.TreeView1_SelectedIndexChange);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
{
string str = TreeView1.SelectedNodeIndex.ToString();
string[] arIndex = str.Split('.');
int index = int.Parse(arIndex[0].Trim());
TreeNode tn = TreeView1.Nodes[index];
for (int i = 1;i < arIndex.Length;i++)
{
index = int.Parse(arIndex[i].Trim());
tn = tn.Nodes[index];
}
Response.Write(str + "<br>");
// Response.Write(e.NewNode + "<br>");
Response.Write(tn.Text); }
}
}
------------------
在构造树的时候,将隐藏值写在treenode.nodedata属性中为什么我这里为什么一直是"0",
-----------------------------
是否把构造树的代码直接放在pageload中?试试写在!Ispostback块中
ne有Text和nodedata属性等,你看你需要什么属性了,这里的应该是对的啊?你得不到这个treeNode ??
-----------------------------
是否把构造树的代码直接放在pageload中?试试写在!Ispostback块中以上部分按你说的已经能显示出来了,但
而是该节点一个隐藏值,该如何做
------------------
在构造树的时候,将隐藏值写在treenode.nodedata属性中
我是放在nodedata中的啊,但如何取出呢??以下是代码
public void CreateChildNode(TreeNode parentnode,DataTable dataTable)
{
DataRow[] rowList=dataTable.Select("SubitemName='" + parentnode.NodeData + "'");
foreach(DataRow row in rowList)
{
string strstate;
if(row["State"].ToString()=="1")
{
strstate="完成";
}
else
{
strstate="处理中";
}
TreeNode tempnode=new TreeNode();
tempnode.Text=row["UnitName"].ToString()+row["RecieveDate"].ToString()+row["DealTime"].ToString()+"("+strstate+")";
tempnode.NodeData=row["UnitName"].ToString();
tempnode.Expanded=false;
// tempnode.NavigateUrl=row["UnitName"].ToString();
tempnode.Target="MainFrame";
parentnode.Nodes.Add(tempnode); CreateChildNode(tempnode,dataTable); }
}
根本都不能这样写
TreeNode ne = tvChange.Nodes[tvChange.SelectedNodeIndex];编译都不能通过
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
CreateChildNode(parentnode,datatable);
}
}
但如何取出呢??
------------------------ private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
{
string str = TreeView1.SelectedNodeIndex.ToString();
string[] arIndex = str.Split('.');
int index = int.Parse(arIndex[0].Trim());
TreeNode tn = TreeView1.Nodes[index];
for (int i = 1;i < arIndex.Length;i++)
{
index = int.Parse(arIndex[i].Trim());
tn = tn.Nodes[index];
}
Response.Write(str + "<br>");
// Response.Write(tn.Text + "<br>");
Response.Write(tn.NodeData); }
可以得到我要的值了,谢谢,先把这个忙完,今天之内结贴.方便留个QQ吗?你真是个热心人,谢谢