我自定义了一个TreeNode和Treeview.并在TreeNode里面增加了若干属性。public class CompanyNode : System.Web.UI.WebControls.TreeNode {
private string _nodeID;
private string _parentID;
private int _levelID;
private string _nodeName; public CompanyNode()
: base()
{
} public CompanyNode(string NodeText, string NodeValue, string ImageUrl)
: base(NodeText, NodeValue, ImageUrl)
{ } public string NodeID
{
get { return this._nodeID; }
set { this._nodeID = value; }
}
public string ParentID
{
get { return this._parentID; }
set { this._parentID = value; }
} public int LevelID
{
get { return this._levelID; }
set { this._levelID = value; }
} public string NodeName
{
get { return this._nodeName; }
set { this._nodeName = value; }
}
} public class CompanyTreeView : TreeView
{
protected override TreeNode CreateNode()
{
return new CompanyNode();
} } 我用一下代码在装载Treeview:AceWorld.Control.CompanyNode companyRoot = new AceWorld.Control.CompanyNode("CompanyName,"CompanyID, "../../images/star.gif");companyRoot.NodeName = "TestNode";
companyRoot.NodeID= "TestNodeID";
companyRoot.ParentID= "TestParentID";
companyRoot.LevelID= 1;treeView.Nodes.Add(companyRoot);
然后我想在Click树结点的时候,从节点里面取出装载时添加的属性"NodeName" "NodeID", "ParentID","LevelID"。protected void CompanyTreeView_Setting_SelectedNodeChanged(object sender, EventArgs e)
{
CompanyNode tmpNode = (CompanyNode)(this.CompanyTreeView_Setting.SelectedNode);}但是 (CompanyNode)(this.CompanyTreeView_Setting.SelectedNode) 经过转换后返回的"tmpNode" ,所有属性比如 "NodeName" "NodeID", "ParentID","LevelID" 全都为Null.大家知道怎么办吗?(以上思路在Winform当中顺利通过,但是在asp.net中总是失败)
private string _nodeID;
private string _parentID;
private int _levelID;
private string _nodeName; public CompanyNode()
: base()
{
} public CompanyNode(string NodeText, string NodeValue, string ImageUrl)
: base(NodeText, NodeValue, ImageUrl)
{ } public string NodeID
{
get { return this._nodeID; }
set { this._nodeID = value; }
}
public string ParentID
{
get { return this._parentID; }
set { this._parentID = value; }
} public int LevelID
{
get { return this._levelID; }
set { this._levelID = value; }
} public string NodeName
{
get { return this._nodeName; }
set { this._nodeName = value; }
}
} public class CompanyTreeView : TreeView
{
protected override TreeNode CreateNode()
{
return new CompanyNode();
} } 我用一下代码在装载Treeview:AceWorld.Control.CompanyNode companyRoot = new AceWorld.Control.CompanyNode("CompanyName,"CompanyID, "../../images/star.gif");companyRoot.NodeName = "TestNode";
companyRoot.NodeID= "TestNodeID";
companyRoot.ParentID= "TestParentID";
companyRoot.LevelID= 1;treeView.Nodes.Add(companyRoot);
然后我想在Click树结点的时候,从节点里面取出装载时添加的属性"NodeName" "NodeID", "ParentID","LevelID"。protected void CompanyTreeView_Setting_SelectedNodeChanged(object sender, EventArgs e)
{
CompanyNode tmpNode = (CompanyNode)(this.CompanyTreeView_Setting.SelectedNode);}但是 (CompanyNode)(this.CompanyTreeView_Setting.SelectedNode) 经过转换后返回的"tmpNode" ,所有属性比如 "NodeName" "NodeID", "ParentID","LevelID" 全都为Null.大家知道怎么办吗?(以上思路在Winform当中顺利通过,但是在asp.net中总是失败)
解决方案 »
- 集成windows身份认证,自动登录情况下的用户切换功能
- 请教:.net中如何重写一个服务器控件呢?
- [Q]->让我很是折腾的 <前进 后退 刷新>
- asp.net ajax,在web.config指定gb2312编码时,接收中文字符出现乱码。。。
- 怎么把网页转化成.xml文件
- 问一个关于freetextbox插入图片的几个小问题!
- 请教! java所说的速度快体现在什么方面?
- 用Visual Stadio.Net编译成动态连接库(Dll),放在Bin目录中,这个.dll是MSIL代码吗?
- 请教一个工具栏显示的问题!
- 非DataGrid分页,制作心德,ASP的方法
- 在web页面中生成.doc文件
- ASP.NET 2.0中的SqlDataSource如何动态执行SQL?如何用代码给其SQL语句的参数进行赋值?
{
get
{
object local = base.ViewState["MyText"];
return (local != null) ? (String)local : "";
}
} public string MyText
{
get
{
return ViewStateMyText;
} set
{
base.ViewState["MyText"] = value;
}
}
companyRoot.NodeID= "TestNodeID";
companyRoot.ParentID= "TestParentID";
companyRoot.LevelID= 1;这些封装要写到public class CompanyNode : System.Web.UI.WebControls.TreeNode类里面