gpt4 book ai didi

c# - DropDownListFor 默认从模型中选择的项目

转载 作者:行者123 更新时间:2023-11-30 16:10:22 24 4
gpt4 key购买 nike

我有一个绑定(bind)到模型成员的 DropDownListFor 以及可供选择的项目列表。绑定(bind)到这个成员有效,但我似乎无法弄清楚的是如何在页面加载时显示模型的当前值。

查看

@Html.DropDownListFor(model => model.MethodofPayment, (List<SelectListItem>)ViewBag.statuses)

控制

List<SelectListItem> statuses = new List<SelectListItem>();
statuses.Add(new SelectListItem { Text = "Approved", Value = "Approved" });
statuses.Add(new SelectListItem { Text = "Declined", Value = "Declined" });
statuses.Add(new SelectListItem { Text = "Pending", Value = "Pending" });
ViewBag.ClaimStatus = statuses;

添加 optionLabel 参数不起作用并返回空值,并且将 SelectListItem 作为 optionLabel 参数传递也不起作用。

@Html.DropDownListFor(model => model.MethodofPayment, (List<SelectListItem>)ViewBag.methodofpayment, model.MethodOfPayment)

如果他们不更改列表项,我希望页面提交显示的相同值。

编辑:
谢谢你们,一定是名字冲突了。我有点搞砸了我的问题,因为我有两个下拉列表,我一定是复制错了。

修改后的代码:
Controller :

List<SelectListItem> statuses = new List<SelectListItem>();
statuses.Add(new SelectListItem { Text = "Approved", Value = "Approved" });
statuses.Add(new SelectListItem { Text = "Declined", Value = "Declined" });
statuses.Add(new SelectListItem { Text = "Pending", Value = "Pending" });
ViewBag.ClaimStatuses = statuses;

查看:

@Html.DropDownListFor(model => model.ClaimStatus, (List<SelectListItem>)ViewBag.ClaimStatuses)

将其设为复数形式并且有效。

最佳答案

有时您可能对不同的控件/变量使用了相同的名称,这可能会相互冲突。

在你的情况下,模型属性名称 MethodofPayment 和你的 ViewBag 名称 methodofpayment 我猜会导致冲突。

尝试将您的 ViewBag 名称更改为类似 ViewBag.paymentmode 的名称并尝试。

@Html.DropDownListFor(model => model.MethodofPayment, (List<SelectListItem>)ViewBag.paymentmode)

关于c# - DropDownListFor 默认从模型中选择的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25921984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com