【发布时间】:2017-01-05 16:02:41
【问题描述】:
我有这个枚举:
public enum LeadSoldCreditReasons
{
[Value(Name = "Incorrect contact information")]
BadContactInfo = 1,
[Value(Name = "Not a Real Person")]
NotRealPerson =2,
[Value(Name = "Does not match my filters")]
FilterMismatch = 3,
[Value(Name = "Seller Never Requested a Quote")]
QuoteNotRequested = 4,
[Value(Name = "Other")]
Other = 5
}
首先,我不确定我做的Name 是否正确。如果没有,请让我知道。
其次,我可以用 enu 填充下拉列表,值如下:
@Html.DropDownList("CreditReason", EnumHelper.GetSelectList(typeof(LeadSoldCreditReasons)), "Select a Reason", new { @class = "form-control" })
但这让我明白了:
<select class="form-control" id="MyType" name="MyType"><option value="">Select My Type</option>
<option value="1">BadContactInfo</option>
<option value="2">NotRealPerson</option>
<option value="3">FilterMismatch</option>
<option value="4">QuoteNotRequested</option>
<option value="5">Other</option>
</select>
我尝试过使用 Enum.GetName() 和 Enum.GetNames()`,但要么我做得不对,要么这不是完成这项工作的正确方法。
这个:
@Html.DropDownList("CreditReason", EnumHelper.GetSelectList(Enum.GetNames(typeof(LeadSoldCreditReasons))), "Select a Reason", new { @class = "form-control" })
给我这个:
无法将 string[] 转换为 System.Type
我想这是有道理的,因为 EnumHelper.GetSelectList() 想要一个类型。
这个:
@Html.DropDownList("CreditReason", EnumHelper.GetSelectList(Enum.GetName(typeof(LeadSoldCreditReasons))), "Select a Reason", new { @class = "form-control" })
给我这个:
没有给出与所需形式参数相对应的参数.. blah blah
这也是有道理的,因为 Enum.GetName() 需要两个参数,一个是类型,另一个是类型中的实例。
我有点想不通。
【问题讨论】:
标签: c# asp.net asp.net-mvc enums