我正在尝试在我的视图中生成下拉列表,如下所示,但我希望我的选项标签("Please select..."
)的值为-1,因为空白已被另一个选项占用。反正有没有将它添加到我的控制器或视图模型中的选择列表中,或者创建一个新的html帮助器?
<%: Html.DropDownListFor(model => model.stuff.Id, new SelectList(Model.stuff, "Id", "Name"), "Please select...")%>
由于
答案 0 :(得分:9)
我希望我的选项标签(“请选择...”)的值为-1
使用DropDownListFor帮助程序无法开箱即用。对于此值,它将始终使用空白。你有两种可能性:
实际上你有第三种可能性,恕我直言是最好的,我建议你:
不要将空白用作值。这应该保留给请选择默认值。使用blank作为用户实际可以选择的值的值似乎不合逻辑。您可能还会遇到验证问题。
答案 1 :(得分:1)
从数据库中获取值后,只需使用Concat方法将新项添加到SelectList。然后将值设置为0并将文本设置为&#34;请选择&#34;。
var selectList = new SelectList(types.Concat( new[]{new MediaType() {MediaTypeId = 0, Type = "Please select"}})
, "mediatypeid", "type");