TreeView a link ze spacją

0

Mam wyłączone zwijanie węzłów po kliknięciu ich w TreeView i to działa. Ale z jednym wyjątkiem tych węzłów ze spacją w adresie. Kliknięcie poprawnie buduje link z '%20'. Przydałyby się mi jakieś sugestie w sprawie kodowania stringów do adresów URL.

1

http://krypted.com/utilities/html-encoding-reference/
Html pewne znaki musi enkodowac szczegolnie jesli znajduja sie jako link url. Nie wiem o co chodzi w pytaniu wiec jej popraw.

0

Postaram się wyprostować moje pytanie.
Mam dla przykładu taki TreeNode w Treeview:

<siteMapNode url="Category.aspx?category=Eggs dishes" title="Eggs dishes"  description="Eggs recipes" />

Chodzi mi o to, że przy kliknięciu spacja jest kodowana w linku do %20, ta strona z kategorią oczywiście wczytuje się, ale jest zwijane TreeView. Chcę temu zapobiec, tak aby zawsze przy SelectAction pozostawiało rozwinięte TreeView.

Zwijanie następuje tylko podczas kliknięcia w węzeł, który ma w nazwie spacje. Kliknięcie w inne kategorie, pozostawia rozwinięte TreeView. W Page_Load mam pętlę:

      foreach (TreeNode tn in TreeView1.Nodes)
        {
            if (tn.Depth == 0)
            {
                tn.CollapseAll();
            }
            else
            {
                tn.Expand();
            }

          
        }

Zaś kontrolkę TreeView mam tak zdeklarowaną:

<asp:TreeView runat="server" ExpandDepth="0" CollapseImageUrl="~/img/Hamburger.svg" ExpandImageUrl="~/img/Hamburger.svg" PopulateNodesFromClient="false"  ID="TreeView1" DataSourceID="SiteMapDataSource1"  >
                       
1

Udało mi się poprzez dodanie tn.Selected do if(tn.Depth ==0) i jednoczesne dodanie kontrolki TreeNodeBinding. :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1