TreeView控件的适配器确实有一些viewstate处理,但是您正确选择的节点属性在回发时为null。
如果你在浏览器状态栏上会显示类似悬停在根节点:
javascript:__doPostBack('controlid', 'eventargument');
//or
javascript:__doPostBack('tv', 'srootnodevalue\\childnodevalue');
你能赶上在后面描述你所访问的节点及其作为值的代码事件参数像'node \ value'这样的字符串。
if (Request.Form["__EVENTTARGET"] != null && Request.Form["__EVENTARGUMENT"] != null)
{
if (Request.Form["__EVENTTARGET"].Equals("tv")) //tv is my treeview control id, and the first parameter in __doPostBack()
Tv_SelectedNodeChanged(Request.Form["__EVENTARGUMENT"]);
}
protected void Tv_SelectedNodeChanged(string argument)
{
//process the argument string 'srootnodevalue\childnodevalue'
}
的树状视图状态似乎意识到它的适配器的表示所选择的节点作为类=“ASPNET-的TreeView叶ASPNET,TreeView控件,选定的”,当它呈现。
不过,可能有这样做的更好的方式...
也可以看看这个帖子... http://cssfriendly.codeplex.com/Thread/View.aspx?ThreadId=66248 – CRice 2009-10-26 05:30:34
对不起大家 - 还没有回到这个特殊的问题呢。我仍然需要解决这个问题,但mgmt让我现在正在运行另外15个不同的方向。 – 2010-01-13 20:51:18