如何在我的 ASP.NET MVC 视图中使用 ViewBag 属性?

How to use ViewBag properties inside my ASP.NET MVC View?

我有一个配置页面来配置这样的 API 请求:

然而,当 "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>

"Klant" 的 DropDownList 被名为 ViewBag.selectItemListCompany 的 ViewBag 填充。我想检查这个列表是否为空,我用下面的代码做了这个:

if(ViewBag.selectItemListCompany == null)

但是这没有用,

大家还有其他建议吗?

提前致谢

你也可以试试这个,

第一个IEnumerableselectItemListCompany转换成列表如下:

var 数据 = selectItemListCompany.ToList();

然后检查列表的计数 if(data.count > 0) 并执行所需的逻辑。

I was thinking to check if this list is empty or not, I did this with the following code:

if(ViewBag.selectItemListCompany == null)

该代码正在检查列表是否为空,而不是空的。如果要检查列表是否为空,则需要查看它是否包含任何元素。我们可以为此使用 .Any() 并将结果取反。

@if (ViewBag.selectItemListCompany == null || !ViewBag.selectItemListCompany.Any())
{
}