在C#应用程序中,TreeView必须结合使用javascript才能实现树的节点增加,删除吗? TreeView1.Nodes.有个方法可以删除!TreeView1.Nodes.Add(new TreeNode("新加的节点")); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 设置TreeView AutoPostBack属性为true 还是选不到节点呀?using 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 WebApp2{ /// <summary> /// WebForm3 的摘要说明。 /// </summary> public class WebForm3 : System.Web.UI.Page { protected System.Web.UI.WebControls.Button Button1; protected Microsoft.Web.UI.WebControls.TreeNode tn1; protected Microsoft.Web.UI.WebControls.TreeNode root; protected System.Web.UI.WebControls.Label Label1; protected System.Web.UI.WebControls.CheckBox ml; protected Microsoft.Web.UI.WebControls.TreeView TreeView1; protected System.Web.UI.WebControls.CheckBox mx; protected System.Web.UI.WebControls.Label Label2; protected System.Web.UI.WebControls.Label Label3; protected System.Web.UI.WebControls.Label Label4; protected System.Web.UI.WebControls.Label Label5; protected TreeNode[] tempnd; protected System.Web.UI.WebControls.Label Label6; Microsoft.Web.UI.WebControls.TreeNode[] tn=new Microsoft.Web.UI.WebControls.TreeNode[1]; int j=0; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 tempnd=new TreeNode[j+1]; TreeView1=new Microsoft.Web.UI.WebControls.TreeView(); tempnd[0]=new TreeNode(); TreeView1.Nodes.Add(tempnd[0]); Label1.Text="页面加载时tempnd的父节点为:"+tempnd[0].Parent.ToString(); Label2.Text=tempnd[0].GetNodeIndex(); TreeView1.Visible=true; tempnd[0].Text="目录"; this.Controls.Add(TreeView1); if(TreeView1.Nodes[0].Text=="目录") { Button1.Text="添加..."; } } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Button1.Click += new System.EventHandler(this.Button1_Click); 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) { Label1.Text=TreeView1.SelectedNodeIndex.ToString(); } private void Button1_Click(object sender, System.EventArgs e) { if(Button1.Text=="添加..."&&ml.Checked==true) for(int x=0;x<tempnd.Length;x++) { //int x=tempnd.GetNodeIndex().Length; tn1=new TreeNode(); TreeView1.Nodes[Convert.ToInt32(tempnd[x].GetNodeIndex())].Nodes.Add(tn1); tn1.Text="子目录"; tempnd[x]=tn1; Label3.Text=tempnd[x].GetNodeIndex().ToString(); Label4.Text=tempnd[x].GetNodeIndex().ToString(); string[] al1=new string[tempnd[x].GetNodeIndex().Length]; al1=Label4.Text.Split('.'); for(int n=0;n<al1.Length;n++) { Label5.Text=Label5.Text.ToString()+al1[n].ToString()+","; } } } } } 设置TreeView AutoPostBack属性为true 我肯定我设置了,TreeView1的AutoPostBack 为true在设讲版面上右边的属性栏中设置的,后边我贴出来的代码就是在设了之后,运行后,Label1没有变化 设置TreeView AutoPostBack属性为true选取当前结点是TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex)完全可以不用到javascrip。我刚刚把这个做完。没用到一点。 Label1.Text=TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex).Text试试这个。 Page_Load函数里没有if(!IsPostBack)!这个函数应该这样写:private void Page_Load(object sender, System.EventArgs e){ if(!IsPostBack) { //你的代码 }} 服务端本就不用JS,Label1.Text=TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex).Text 求教正则的一个用法 问个控件的问题 用C#如何实现POST 一个请求到 一个 php页面? 在线等C#怎么限制用户在文本框中要求只能输入两个字母和四位数字 (50分)怎么样实现以下的左右滚动 CrystalReport连接上数据库后 布尔型 数据返回到报表上 为符号 (真 返回 对号 , 假为 null ) C# 如何输出随机行 xml中文乱码 请问谁做过获取雅虎新闻? 获取颜色值的简单问题: 关于TextBox框绑定的问题 上海科泰世纪的笔试题,大家看看!
using 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 WebApp2
{
/// <summary>
/// WebForm3 的摘要说明。
/// </summary>
public class WebForm3 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected Microsoft.Web.UI.WebControls.TreeNode tn1;
protected Microsoft.Web.UI.WebControls.TreeNode root;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.CheckBox ml;
protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
protected System.Web.UI.WebControls.CheckBox mx;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.Label Label4;
protected System.Web.UI.WebControls.Label Label5;
protected TreeNode[] tempnd;
protected System.Web.UI.WebControls.Label Label6;
Microsoft.Web.UI.WebControls.TreeNode[] tn=new Microsoft.Web.UI.WebControls.TreeNode[1];
int j=0;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
tempnd=new TreeNode[j+1];
TreeView1=new Microsoft.Web.UI.WebControls.TreeView();
tempnd[0]=new TreeNode();
TreeView1.Nodes.Add(tempnd[0]);
Label1.Text="页面加载时tempnd的父节点为:"+tempnd[0].Parent.ToString();
Label2.Text=tempnd[0].GetNodeIndex();
TreeView1.Visible=true;
tempnd[0].Text="目录";
this.Controls.Add(TreeView1);
if(TreeView1.Nodes[0].Text=="目录")
{
Button1.Text="添加...";
}
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
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)
{
Label1.Text=TreeView1.SelectedNodeIndex.ToString();
}
private void Button1_Click(object sender, System.EventArgs e)
{
if(Button1.Text=="添加..."&&ml.Checked==true)
for(int x=0;x<tempnd.Length;x++) { //int x=tempnd.GetNodeIndex().Length;
tn1=new TreeNode();
TreeView1.Nodes[Convert.ToInt32(tempnd[x].GetNodeIndex())].Nodes.Add(tn1);
tn1.Text="子目录";
tempnd[x]=tn1;
Label3.Text=tempnd[x].GetNodeIndex().ToString();
Label4.Text=tempnd[x].GetNodeIndex().ToString();
string[] al1=new string[tempnd[x].GetNodeIndex().Length];
al1=Label4.Text.Split('.');
for(int n=0;n<al1.Length;n++)
{
Label5.Text=Label5.Text.ToString()+al1[n].ToString()+",";
}
}
}
}
}
在设讲版面上右边的属性栏中设置的,后边我贴出来的代码就是在设了之后,运行后,Label1没有变化
选取当前结点是TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex)
完全可以不用到javascrip。我刚刚把这个做完。没用到一点。
试试这个。
这个函数应该这样写:
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
//你的代码
}
}