在 Tag helper .net core 中设置默认值
Set default value in Tag helper .net core
我的页面中有 dropdown
列表,它使用 enum
列表进行绑定。
我的 enum
看起来像
public enum PaymentType
{
/// <summary>
/// The Cash
/// </summary>
Cash = 0,
/// <summary>
/// The Credit
/// </summary>
Credit = 1,
/// <summary>
/// The Debit
/// </summary>
Debit = 2
}
我将此枚举绑定到下拉列表,如下所示
<select class="select-text" id="paymentType" asp-
for="PurchaseOrder.PaymentType" required asp-items="@(new
SelectList(Model.PaymentTypes, "Id", "Name"))">
<option selected="selected" value ="">--Select payment type--</option>
</select>
问题就像 PurchaseOrder.PaymentType
是一个整数字段,所以这里的默认值是 0
,这使得我的 dropdown
总是 selected 到 Cash
。我知道使 PurchaseOrder.PaymentType
可为空是一个选项,但我希望将其归档为不可空。
我已经厌倦了在 select 中添加 value=""
,也尝试在默认选项中添加 selected="selected"
,但没有任何效果。
谁能帮我用标签助手语法解决这个问题?
您需要 SelectList(IEnumerable, String, String, Object, String) 重载。
Initializes a new instance of the SelectList class by using the
specified items for the list, the data value field, the data text
field, a selected value, and the data group field.
例如在您的代码中:
SelectList(Model.PaymentTypes, "Id", "Name", 1)
既然您有 "blank" 选项,那么您的采购订单的 PaymentType
属性 应该可以为空。您可以在其上使用 [Required]
属性来强制用户必须实际提交一个值。
如果因为直接与实体 class 合作而无法这样做,请停止这样做。始终使用视图模型。
我的页面中有 dropdown
列表,它使用 enum
列表进行绑定。
我的 enum
看起来像
public enum PaymentType
{
/// <summary>
/// The Cash
/// </summary>
Cash = 0,
/// <summary>
/// The Credit
/// </summary>
Credit = 1,
/// <summary>
/// The Debit
/// </summary>
Debit = 2
}
我将此枚举绑定到下拉列表,如下所示
<select class="select-text" id="paymentType" asp-
for="PurchaseOrder.PaymentType" required asp-items="@(new
SelectList(Model.PaymentTypes, "Id", "Name"))">
<option selected="selected" value ="">--Select payment type--</option>
</select>
问题就像 PurchaseOrder.PaymentType
是一个整数字段,所以这里的默认值是 0
,这使得我的 dropdown
总是 selected 到 Cash
。我知道使 PurchaseOrder.PaymentType
可为空是一个选项,但我希望将其归档为不可空。
我已经厌倦了在 select 中添加 value=""
,也尝试在默认选项中添加 selected="selected"
,但没有任何效果。
谁能帮我用标签助手语法解决这个问题?
您需要 SelectList(IEnumerable, String, String, Object, String) 重载。
Initializes a new instance of the SelectList class by using the specified items for the list, the data value field, the data text field, a selected value, and the data group field.
例如在您的代码中:
SelectList(Model.PaymentTypes, "Id", "Name", 1)
既然您有 "blank" 选项,那么您的采购订单的 PaymentType
属性 应该可以为空。您可以在其上使用 [Required]
属性来强制用户必须实际提交一个值。
如果因为直接与实体 class 合作而无法这样做,请停止这样做。始终使用视图模型。