微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MVC 下拉列表未显示使用 ViewBag

如何解决MVC 下拉列表未显示使用 ViewBag

我已经使用 Banks 表填充了 ViewBag.BankNames

ViewBag.BankNames = new SelectList(db.Banks,"BankId","BankName",applicationSettings.BankId);

其中 applicationSettings.BankdId 具有我需要在下拉列表中显示为选定值的值,然后传递 applicationSetting 模型对象进行查看。

在我的视图中,我使用了那个 ViewBag

@Html.DropDownListFor(model => model.BankId,ViewBag.BankNames as SelectList,"Select Bank",htmlAttributes: new { @class = "form-control" })

它会显示包含银行名称所有值的下拉列表,但选定的值是选择银行,而不是我在 ViewBag 中设置为选定值的值?

解决方法

您能否将 applicationSettings.BankId 分配给模型属性的 BankId 并检查..

您正在绑定 @Html.DropDownListFor(model => model.BankId,ViewBag.BankNames as SelectList,"Select Bank",htmlAttributes: new { @class = "form-control" }) 但在 model.BankId 中为零..

在返回查看之前分配 Model.BankId = applicationSettings.BankId

In Controller

public ActionResult Index()
        {

            var banks = new List<Banks>()
            {
                new Banks()
                {
                    BankId =1,BankName = "Bank 1"
                },new Banks()
                {
                    BankId =2,BankName = "Bank 2"
                }
            };


            var list = new SelectList(banks,"BankId","BankName");
            

            ViewBag.Banks = list;

            var modelBanks= new Banks();
            modelBanks.BankId = 2;

            return View(modelBanks);
        }


In View
@model Banks
@using WebApplication3.Models
@Html.DropDownListFor(model => model.BankId,ViewBag.Banks as SelectList,"Select Bank")





版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。