本文介绍了MVC 4:如何使DropDownListFor返回0作为optionLabel价值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有多个DropDownListFors一个创建视图。每次创建新的对象只有DropDownListFors 1应该有一个值的时候,我要当左侧所选optionLabel其他人返回0作为结果。
我如何分配0作为一个DropDownListFor的optionLabel价值?
编辑:
这是在我看来,我的DropDownListFor code的例子:
@ Html.DropDownListFor(型号=> model.cardReward.ID,新的SelectList(ViewBag.cardReward,ID,姓名),无)
当我渲染页面就在这样的顶部创建了无名单:
<选项值>无< /选项>
我希望它是这样的:
<期权价值=0>无< /选项>
解决方案
在的 optionLabel
参数(如果你传递无)被描述为:
So this is designed to always be an empty item. You will need to add an additional item into your select list in order to get a 0 value.
I have used the following extension method to accomplish this (sorry untested, there may be minor errors):
public IEnumerable<SelectListItem> InsertEmptyFirst(this IEnumerable<SelectListItem> list, string emptyText = "", string emptyValue = "")
{
return new [] { new SelectListItem { Text = emptyText, Value = emptyValue } }.Concat(list);
}
You would use it like this:
@Html.DropDownListFor(model => model.cardReward.ID, new SelectList(ViewBag.cardReward, "Id","Name").InsertEmptyFirst("None", "0"))
这篇关于MVC 4:如何使DropDownListFor返回0作为optionLabel价值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!