2009-03-05 78 views

回答

1

我认为这取决于你的树视图。该Telerik的树状视图状态通过做到这一点...

http://www.telerik.com/community/forums/aspnet/treeview/how-do-i-maintain-treeview-state-after-postback.aspx

...这下面的帖子暗示的手卷这种方式...

http://blog.binaryocean.com/PermaLink,guid,23808645-43b5-4e2a-afb1-53dc8da35636.aspx

我还没有尝试过任何一种解决方案,所以不能为他们担保,但他们看起来很有前途。

+0

这里的第二个链接被打破的缓存版本:HTTP:// webcache.googleusercontent.com/search?q=cache:ddshVGA_8F0J:blog.binaryocean.com/default,date,2006-01-19.aspx+&cd=1&hl=en&ct=clnk&client=opera – ken2k 2013-04-04 09:34:40

0

你可以尝试启用视图状态的树视图控件。

0

使用此.Save它在后视图状态恢复,并使用视图状态呈现在相同的状态

<% List<TreeViewItem> checkedNodes = ViewData["TreeView1_checkedNodes"] as ist<TreeViewItem>; %> 

<%= Html.Telerik().TreeView() 
.Name("Tree")  
.ShowCheckBox(true) 
.ClientEvents(ev => ev.OnChecked("OnCheck") 
) 
.BindTo(Model, mappings => 
{ 
    mappings.For<GridWithWindow.Jar>(binding => binding 
     .ItemDataBound((item, jag) => 
      { 
       item.Text = jag.TreeName; 
       item.Value = jag.TreeName; 

       if (checkedNodes != null) 
       { 
        var checkedNode = checkedNodes 
             .Where(e => e.Value.Equals("ddd")) 
             .FirstOrDefault(); 
        item.Checked = checkedNode != null ? checkedNode.Checked : false; 
       }      

      }) 
      .Children(jag => jag.FirstLevelIList)); 
    mappings.For<GridWithWindow.Jaguar.FirstLevel>(binding => binding 
     .ItemDataBound((item, frst) => 
      { 
       item.Text = frst.FirstLevelName; 
       item.Value = frst.FirstLevelName; 
      }) 
相关问题