[英]ASP.NET core 5 MVC Null drop down list option
我的控制器中有這個簡單的下拉列表:
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>
但此列表不與數據庫列綁定,只會觸發要發送的電子郵件。 出於某種原因,這個框迫使我選擇是或否,並且不會接受空值; 這是為什么,我該如何解決?
我想到了。 HTML 沒有null
的概念,所以它默認為文本。
我只是將它從null
更改為空字符串""
並且它正在工作。
List<SelectListItem> options = new()
{
new SelectListItem { Value = "True", Text = "Yes" },
new SelectListItem { Value = "False", Text = "No" }
};
options.Insert(0, new SelectListItem { Value = "", Text = "Select" });
ViewBag.options = options;
然后在 Bat 下拉問題中,我使用bool
將其發送到控制器(不使用 asp-for,因為它不是模型中的字段),但由於它可以為 null,因此需要為bool?
.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.