nyt1972 Ответов: 0

Asp.net MVC5 jquery возвращает только последнее значение в списке


Привет,

У меня есть список дисков в выпадающем списке, и я хотел бы отобразить список каталогов, выбрав любой диск.

Список Имен Дисков:

var drives = Directory.GetLogicalDrives().ToList();
            ViewBag.Drives = new SelectList(drives);


Отображается только последняя Алфавитная папка/каталог, даже если метод возвращает все.

Пожалуйста помочь.

Что я уже пробовал:

Метод в контроллере для перечисления каталогов:
public JsonResult GetDirectories(string drive)
       {
           var d = new List<string>();
           foreach (var directories in new DirectoryInfo(drive).GetDirectories())
           {
               d.Add(directories.Name);
           }
           var dr = new SelectList(d.ToList());
           return Json(dr, JsonRequestBehavior.AllowGet);
       }


JQuery в поле зрения:

<script type="text/javascript">
    $(document).ready(function(){
        $("#Drives").change(function () {
            var d = $("#Drives").val();
            $.ajax({
                type: "post",
                url: "/Explorer/GetDirectories?drive=" + d,
                data: { drives: $("#Drives").val() },
                data: "json",
                traditional: true,
                success: function (data) {
                    var folders = '';
                    for (var i = 0; i < data.length; i++)
                    {
                        folders = folders + '<li class="list-group-item"> <a href="" class = "fa fa-folder">'+data[i].Text+'</a> </li>';
                    }
                    $('#folders').html(folders); 
                }
            });
        });
    });

</script>

ZurdoDev

Отладьте его и узнайте, что происходит.

nyt1972

не знаете, как отлаживать код JQuery?

ZurdoDev

Нажмите клавишу F12 в браузере, чтобы открыть инструменты разработчика. Затем, в зависимости от браузера, вероятно, есть вкладка для источника, где вы увидите код javascript. Затем вы можете поставить точки останова и пошагово пройти через код.

nyt1972

Большое спасибо, это была логическая ошибка в скрипте JQuery, я тоже исправил и обновил свой вопрос.

0 Ответов