我在后台递归绑定了treeview 如下
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
string sql = "select * from wfg_t_AdministratorMenu";
ds = DB.DBHepler.Query(sql);
bind(this.TreeView1.Nodes,"0");
}
}
public void bind(TreeNodeCollection trc,string fpid)
{
DataView dv = new DataView(ds.Tables[0]);
dv.RowFilter = "FPid=" + fpid;
TreeNode tn = null;
foreach (DataRowView drv in dv)
{
tn = new TreeNode(drv["FItems"].ToString(), drv["fid"].ToString());
trc.Add(tn);
bind(tn.ChildNodes,drv["fid"].ToString()); }
}
我想给每一个子节点都加上超链接 可以跳转各自的页面 怎么做啊!!!!
如果前台手动编辑treeview 是有NavigateUrlField这个属性的
但我想用递归 怎么实现啊 在线等 求教大虾们!!!!!!!!!!!!!!!!
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
string sql = "select * from wfg_t_AdministratorMenu";
ds = DB.DBHepler.Query(sql);
bind(this.TreeView1.Nodes,"0");
}
}
public void bind(TreeNodeCollection trc,string fpid)
{
DataView dv = new DataView(ds.Tables[0]);
dv.RowFilter = "FPid=" + fpid;
TreeNode tn = null;
foreach (DataRowView drv in dv)
{
tn = new TreeNode(drv["FItems"].ToString(), drv["fid"].ToString());
trc.Add(tn);
bind(tn.ChildNodes,drv["fid"].ToString()); }
}
我想给每一个子节点都加上超链接 可以跳转各自的页面 怎么做啊!!!!
如果前台手动编辑treeview 是有NavigateUrlField这个属性的
但我想用递归 怎么实现啊 在线等 求教大虾们!!!!!!!!!!!!!!!!
解决方案 »
- [散]2008的最后一天.....本命年.咋都没有发生!!
- 一个方法两个按钮单击事件里调用,怎么在该方法判断是哪个按钮点击的?
- 关于下载邮件附件问题请教!!!
- 如何查看未关闭的链接
- 有个很头大的问题,想请各位大虾指教啊
- =========诡异!诡异!我做得网站地址中总是有一长串随机的字符串,怎么去掉阿???
- asp.net2.0 (vs2005+sql2005+c#+ajax)问题终结者 群号:18895775
- 这条语句是把人名按(Z-A)的顺序排,我如何让他变成由(A-Z)排序?
- 一个初学者的求问:
- .Net2003与.Net2002就这样不兼容吗?
- VS10的BUG???
- 如何遍历获取HTML里的Table内容?
比如说有一列值是url赋值不就可以了?
{
SysFun sf = list[i];//得到一个实体
if (nodeId == sf.ParentNodeId)
{
TreeNode tn = new TreeNode(sf.DisPlayName);//添加子节点
tn.NavigateUrl = sf.NodeURL;//指定要跳转的页面
tn.Target = "mainFrame";//在对应的框架上显示
tree.ChildNodes.Add(tn);//将此节点添加到树形控件中
} }
上面是我的一个例子,tn.NavigateUrl = sf.NodeURL就是要跳转到的页面,如楼上所说的在数据库中添加一个字段对应要跳转到的页面就可以了.
private void BindChild(TreeNode parentNode)
{
IList<GTFileCategory> listChild = list.Where(m => m.ParentID == Int32.Parse(parentNode.Value.Split(';')[1])).OrderBy(m => m.CName).ToList();
foreach (GTFileCategory c in listChild)
{
TreeNode node = new TreeNode();
node.Text = c.CName;
node.ToolTip = c.CCode;
node.Value = c.CCode ;
node.NavigateUrl = c.URL;
node.Target = "mainFrame";
BindChild(node);
parentNode.ChildNodes.Add(node);
}
}
node.Value="";
node.NavigateUrl = "";
node.Target = "";
treeview1.Nodes.Add(node);