Как использовать свойства ViewBag внутри моего ASP.NET MVC View? - PullRequest
1 голос
/ 09 июля 2019

У меня есть страница конфигурации для настройки запроса API следующим образом:

enter image description here

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

Модал вызывается кнопкой со следующим кодом:

 <a href="#" class="btn btn-primary" data-toggle="modal" data-target="#myModal">Voeg API toe</a>

Чем он вызывает этот модал:

            <!--MODAL-->
        <div class="modal fade" id="myModal">
                <div class="modal-dialog" style="width: 20%;">
                    <div class="modal-content">
                        <div class="modal-header">
                            <a href="#" class="close" data-dismiss="modal">&times;</a>
                            <h3 class="modal-title">API toevoegen</h3>
                        </div>
                        <div class="modal-body">
                            <form id="myForm">
                                <p><b>Klant</b></p>
                                <p>@Html.DropDownList("Company.CompanyName", (IEnumerable<SelectListItem>)ViewBag.selectItemListCompany, new { @class = "form-control" })</p>
                                <p><b>Mapping</b></p>
                                <p>@Html.DropDownList("MappingName.Name", (IEnumerable<SelectListItem>)ViewBag.selectItemListMapping, new { @class = "form-control" })</p>
                                <p><b>API</b></p>
                                <p>@Html.TextBoxFor(model => model.FirstOrDefault().ApiName, new { @class = "form-control", @placeholder = "Naam", autocomplete = "off", Value = "" })</p>
                                <p>@Html.TextBoxFor(model => model.FirstOrDefault().ApiURL2, new { @class = "form-control", @placeholder = "URL", autocomplete = "off", Value = "" })</p>
                                <p><b>Output</b></p>
                                <p>
                                    JSON
                                    @Html.RadioButtonFor(model => model.FirstOrDefault().ResponseType, "json", new { Checked = "checked" })
                                    XML
                                    @Html.RadioButtonFor(model => model.FirstOrDefault().ResponseType, "xml")
                                </p>
                            </form>
                        </div>
                        <div class="modal-footer">
                            <a href="#" class="btn btn-default" data-dismiss="modal">Cancel</a>
                            <input type="reset" value="Submit" class="btn btn-success" id="btnSubmit" />
                        </div>
                    </div>
                </div>
        </div>

Заполняется DropDownList для "Klant"с ViewBag под названием ViewBag.selectItemListCompany.Я думал проверить, пуст ли этот список или нет, я сделал это с помощью следующего кода:

if(ViewBag.selectItemListCompany == null)

Однако это не сработало,

У кого-нибудь есть другие предложения?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

Я думал проверить, пуст ли этот список или нет, я сделал это с помощью следующего кода:

if(ViewBag.selectItemListCompany == null)

Этот код проверяет, что список нулевой, скореечем пусто.Если вы хотите проверить, что список пуст, вам нужно посмотреть, содержит ли он какие-либо элементы.Мы можем использовать .Any() для этого и отменить результат.

@if (ViewBag.selectItemListCompany == null || !ViewBag.selectItemListCompany.Any())
{
}
0 голосов
/ 09 июля 2019

Вы также можете попробовать это,

Первые IEnumerableselectItemListCompany преобразуются в список, как показано ниже:

var data = selectItemListCompany.ToList ();

Затем проверьте количествоперечислите if (data.count> 0) и выполните необходимую логику.

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