Как я могу заполнить неупорядоченный список для дерева JQuery из запроса SQL? - PullRequest
0 голосов
/ 31 августа 2011

Я совершенно новичок в ASP.NET, поэтому думаю, что у меня простой вопрос. В моем приложении я пытаюсь использовать jQuery treeview, на странице по умолчанию у меня есть следующий код:

<script src="jquery-1.6.2.js" type="text/javascript"></script>
    <script src="jquery.treeview.js" type="text/javascript"></script>

            <script type="text/javascript">
                    $(document).ready(function () {
                            $("#example").treeview({
                                    persist: "location",
                                    collapsed: true,
                                    animated: "medium"
                            });

                    });
            </script>

Мне нужно заполнить дерево, и поэтому я использую следующий пример:

<ul id="example" runat="server" class="filetree">
         <li><span class="folder">Folder 1</span>
                 <ul>
                       <li><span class="file">Item 1.1</span></li>
                 </ul>
         </li>
         <li><span class="folder">Folder 2</span>
                  <ul>
                        <li><span class="folder">Subfolder 2.1</span>
                               <ul>
                                  <li><span class="file">File 2.1.1</span></li>
                                  <li><span class="file">File 2.1.2</span></li>
                               </ul>
                        </li>
                        <li><span class="file">File 2.2</span></li>
                 </ul>
         </li>
         <li class="closed"><span class="folder">Folder 3 (closed at start)</span>
                 <ul>
                        <li><span class="file">File 3.1</span></li>
                 </ul>
         </li>
         <li><span class="file">File 4</span></li>
</ul>

Проблема в том, что я получаю данные для дерева в моей базе данных с помощью SQL-запроса.

Итак, мой вопрос: как мне заполнить этот неупорядоченный список моими данными? Большое спасибо заранее!

1 Ответ

1 голос
/ 31 августа 2011

EDIT: Это способ передачи вашего строго типизированного объекта вашему представлению.

Создайте метод для загрузки вашего списка и добавьте его в свою Сессию, чтобы вы могли вызывать этот метод при каждой обратной передаче, чтобы убедиться, что ваш список остается в Сессии, например:

private void LoadMyListToSession()
{
          DataContext ctx = New DataContext(); // instantiate your datacontext if you haven't done so before
          List<Object> ObjectList = ctx.MyDataTable().ToList(); // load your list
          Page.Session.Add("MyVariableName", ObjectList); // add your list to the session
}

Выполните аналогичный код для вашего события page_load или любого другого метода, который вы хотите убедиться, что ваш список остается в сеансе, например:

private void Page_Load(object sender, System.EventArgs e) {
    LoadMyListToSession();
}

Передайте свой View строго типизированный объект, такой как Список класса , который вы используете для хранения элементов в вашей базе данных и итерирования по нему для динамического создания <ul>.

Например, считайте ObjectList своим строго типизированным списком:

<% List<Object> ObjectList = (List<Object>) Session["ObjectList"]; &>

<% if(ObjectList != null && ObjectList.Count > 0){ %>
   <ul>
   <% foreach(Object item in ObjectList)
   { %>
       <li><%= item.Name; %></li>
<% } %>
  </ul>
<% } %>

Как вы можете видеть в приведенном выше примере, если ObjectList является списком элементов, которые вы загружаете из базы данных, вы можете выполнять итерацию по нему и на каждой итерации создавать <li> с любым свойством из элемента вашей итерации, которую вы желание. Помните, что вам нужно загрузить свой объект из сеанса, как показано выше!

Если у вас все еще есть вопросы, пожалуйста, задавайте.

...