2010-05-12 63 views
1

在我的ASP.NET MVC应用程序中,我使用jQuery Treeview和异步节点扩展来构建Active Directory对象树。由于请求长度问题,我使用Base64对每个节点的id进行了编码。例如,在响应为http://devel.local:49210/Domain/LeafExpand?root=source我得到如下:jquery base64问题异步树视图

http://devel.local:49210/Domain/ShowProperties/Q049R3J1cGEgeiByZXBsaWthY2oIGhhc2UIG5hIGtvbnRyb2xlcmFjaCBST0RDLENOPVVzZXJzLERDPWFudXNpZXdpY3osREM9cGw= 

将其发送:

[{"text":"DC=anusiewicz,DC=pl","id":"REM9YW51c2lld2ljeixEQz1wbA==","expanded":true,"children":[{"text":"CN=Builtin,DC=anusiewicz,DC=pl","id":"Q049QnVpbHRpbixEQz1hbnVzaWV3aWN6LERDPXBs","hasChildren":true},... etc. 

在某些情况下

选择具有孩子的jQuery的,而不是发送请求这样的节点之后像这样:

http://devel.local:49210/Domain/ShowProperties/Q049R3J1cGEgeiByZXBsaWthY2o/IGhhc2U/IG5hIGtvbnRyb2xlcmFjaCBST0RDLENOPVVzZXJzLERDPWFudXNpZXdpY3osREM9cGw= 

附加的'/'会导致web se rver生成404错误。这是为什么发生?

+0

Dunno。试图将id映射到应用程序的内部? Base64并不是有史以来最短的编码。 – Will 2010-05-12 17:27:38

+0

它与某些波兰语字母表有关,例如使用System.Text.UnicodeEncoding将编码为R2/ – anusiak 2010-05-12 18:19:43

+0

而不是System.Text.UTF8Encoding解决了问题,但编码后的字符串更长。你说得对,Base64很糟糕:] – anusiak 2010-05-12 18:24:21

回答

0

取出ID“REM9YW51c2lld2ljeixEQz1wbA ==”。 jQuery不喜欢这些。它应该工作。