Как показать файлы каталогов в select с помощью бритвы? - PullRequest
0 голосов
/ 17 января 2019

С моим текущим кодом ниже я могу получить файлы и вывести их в опции выбора, но если пользователь отправит форму без выбора изображения, это выдаст ошибку «Ссылка на объект не установлена ​​для экземпляра объекта.»

У меня есть merch_image в модели Требуется. Как сделать выбор ниже, используя бритву, чтобы она не обошла Обязательный?

Контроллер:

public ActionResult Create()
    {
        DirectoryInfo dirInfo = new DirectoryInfo(@"//uploads/stamp_images");

        ViewBag.Message = dirInfo.GetFiles().ToList();
        return View();
    }

Вид:

<select class="form-control col-sm-3" id="merch_image" name="merch_image">
                        <option selected disabled="disabled">Select</option>

                               @foreach (var item in ViewBag.Message)

                    {
                        <option value="@item.Name"> @item.Name</option>
                    }

    </select>
@Html.ValidationMessageFor(model => model.merch_image, "", new { @class = "text-danger" })

1 Ответ

0 голосов
/ 17 января 2019

Попробуйте этот код, сначала найдите его, содержащий папку с изображениями, и найдите, какой вы найдете в папке

                    string ImagePath = Server.MapPath("~/uploads/stamp_images");

                       string FileName = 'xyz' + ".png";
                        //check image file exist or not
                        var filters = new String[] { "png" };
                        var files = GetFilesFrom(ImagePath, filters, false);

                            foreach (var item in files)
                            {
                                if (item.Contains(FileName))
                                {
                                   //return contains image
                                }
                            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...