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,"选择银行",htmlAttributes:new{@class="表单控件"}(,但在模型中。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")


最新更新