【发布时间】:2021-12-21 14:12:21
【问题描述】:
我的控制器中有这个简单的下拉列表:
List<SelectListItem> options = new()
{
new SelectListItem { Value = "True", Text = "Yes" },
new SelectListItem { Value = "False", Text = "No" }
};
options.Insert(0, new SelectListItem { Value = null, Text = "Select" });
ViewBag.options = options;
我将此下拉列表用于页面上的几个不同的是或否选项,但用户可能并不总是需要是或否,有时最好将选项保留为空。但是,当我选择“选择”选项时,代码会尝试使用字符串“选择”,即使我已将该选项的值设置为空。所有这些下拉选项都适用于位列并允许空值。
如何添加一个将输入 null 值而不是字符串“Select”的选择?
这可能是一个不同的问题,但我在页面上也有使用相同选项的下拉列表:
<div class="form-group row">
<b class="col-md-6">Does this project require a bat habbitat assessment?</b>
<select name="Bat" class="form-control col-md-2" asp-items="@ViewBag.options"></select>
</div>
但是这个列表没有绑定到数据库列,只触发发送电子邮件。出于某种原因,这个框迫使我选择是或否,并且不会接受空值;为什么会这样,我该如何解决?
【问题讨论】:
-
嗨,有趣,也许试试空字符串?
-
共同交谈是浪费时间。这将只是一个基于意见的谈话。请将代码发布在您想要但不能使用“null”的地方。而且我也没有看到任何模型可以绑定。如果您只是在谈论纯 html5,那么情况就完全不同了。
-
我在
select中没有看到asp-for那么你如何发送数据? -
在视图中,将选项选择的值设置为字符串,然后在控制器中将此字符串转换为null。然后将数据插入数据库。
-
@SelimYildiz 感谢大家抽出宝贵时间查看此内容。如果您有兴趣,我想通了并添加了我自己的答案。
标签: c# null asp.net-core-mvc dropdown