jQuery TreeView с ASP.NET MVC, как передать аргумент в URL - PullRequest
1 голос
/ 15 февраля 2010

Вот проблема:

Я пытаюсь сделать Active Directory Explorer с помощью Asynch. jQuery TreeView. В стандартном ASP.NEt это было довольно просто с помощью встроенного TreeView и некоторых событий в программном обеспечении.

Проблема в том, что я точно не знаю, как передать разные аргументы в зависимости от того, какой лист дерева раскрывается. Основываясь на этом примере http://view.jquery.com/trunk/plugins/treeview/demo/async.html, я вижу, что очень просто, если с PHP и аргумент 'root' передается при загрузке страницы.

Например.

У меня есть это дерево:

+ A
+ B
+ С

и я хочу вызвать MyController / MyAction / B при расширении B. Должен ли я добавить какой-либо метод в

<script type="text/javascript">
    $(document).ready(function(){
        $("#black").treeview({
            url: "source.php"
                        toggle: do_something_here?
        })
    });
    </script>

Я как бы застрял здесь, поэтому любая помощь будет признательна.

1 Ответ

0 голосов
/ 15 февраля 2010

Как вы можете видеть, используете ли вы Firebug с демонстрацией, расширение узла запускает запрос GET для данных:

http://view.jquery.com/trunk/plugins/treeview/demo/source.php?root=36

Ответ только JSON:

[
    {
        "text": "1. Review of existing structures",
        "expanded": true,
        "children":
        [
            {
                "text": "1.1 jQuery core"
            },
            {
                "text": "1.2 metaplugins"
            }
        ]
    },
    {
        "text": "2. Wrapper plugins"
    },
    {
        "text": "3. Summary"
    },
    {
        "text": "4. Questions and answers"
    }

]

Таким образом, вы могли бы написать действие MVC (однако не используйте .php в URI!)

public JsonResult Source(string root)
{
    var model = new object[]
        {
            new 
            {
                text = "1. Review of existing structures",
                expanded = true,
                children = new object[] 
                {
                    new
                    {
                         text = "1.1 jQuery core",
                    },
                    new
                    {
                         text = "1.2 metaplugins"
                    }
              }
          },
          new
          {
              text = "2. Wrapper plugins"
          },
          new
          {
              text = "3. Summary"
          },
          new
          {
              text = "4. Questions and answers"
          }
      };
   return Json(model);
}

Отсюда должно быть очевидно, как переключаться на основе корневого аргумента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...