Как зациклить <li>в поле зрения - PullRequest
0 голосов
/ 27 декабря 2018

Я хочу зациклить теги li в моем представлении (cshtml), и я попробовал цикл «for» и «foreach», отладил его, и он сделал цикл, но он не будет отображать зацикленные теги li.не будут отображаться зацикленные теги li?

Я передал свою модель в представление из контроллера, и внутри модели есть некоторые сообщения об ошибках. Я отладил его, и на нем были эти сообщения об ошибках, затем я зациклилсясообщения об ошибках одно за другим с использованием циклов for и foreach (пробовал оба), но сообщений об ошибках нигде не найти в представлении.

Это мое представление (cshtml):

                 @model Models.RootObject
            <html xmlns="http://www.w3.org/1999/xhtml">

            <head>
                <title></title>
            </head>

            <body>
                <input type="file" accept="application/pdf" id="fileAccept"/>
                <button type="submit" id="buttonSubmit">Submit</button>
                <ul id="showResultHere">
                    @{
                        if (Model != null)
                        {
                            for(int i=0; i<Model.Result.ErrorMessages.Count ; i++)
                            {
                                <li>Line @Model.Result.ErrorMessages[i].ToString()</li>
                            }
                        }
                    }
                </ul>
            </body>
            </html>

            <script src="/assets/scripts/libs/jquery/jquery-1.11.0.min.js"></script>
            <script>

                $('#buttonSubmit').click(function (e) {
                    e.preventDefault();
                    var formData = new FormData();
                    var file = document.getElementById("fileAccept").files[0];
                    formData.append("fileRequest", file);
                    formData.append("captcha", $("#captcha").val());

                    $.ajax({
                        url: "@Url.Action("Index", "Upload")",
                        type: "POST",
                        data: formData,
                        contentType: false,
                        processData: false,
                        success: function (result) {
                            alert("All done!");
                        }
                        , error: function (err, textStatus, errorThrown) {
                            alert(errorThrown);
                        }
                    });

                });

            </script>

Возвращение моделей для просмотра из UploadController:

            if (isValid != true)
            {
                for (int i = 0; i < validationResults.Count; i++)
                {
                    result.ErrorMessages.Add(validationResults.ElementAt(i).ErrorMessage);
                }
                rootObject.Result = result;
                return View(rootObject);

                //return Json(validationResults);
            }

Я ожидаю, что представление отобразит теги li с этими сообщениями об ошибках из модели.

1 Ответ

0 голосов
/ 27 декабря 2018

Попробуйте использовать foreach следующим образом:

@foreach(var errorMessage on Result.ErrorMessages)
{
    <li> Line @errorMessage.ToString() </li>
}

Я не уверен ... но если это не работает, попробуйте добавить туда в верхней части вашего представления:

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