是否可以在ASP.NET MVC的optionLabel
中添加多个@Html.DropDownListFor
?基本上,我有第一个选项标签设置为"请选择"在显示其余列表项之前,我希望下一个是"创建新..."。
选择 -
或者,我可以决定不使用@Html.DropDownListFor
并使用循环呈现下拉列表。但是,如果我这样做,那么它仍会将所选值回发给行动吗?
我想我可以添加"创建新..."它所绑定的集合的选项。但是我将其作为最后一个选项,因为它需要为每个需要这个的集合创建单独的IEnumerable包装器(并且它看起来不是一个干净的方式来完成它)
答案 0 :(得分:0)
不,不是。对此最好的解决方案是创建一个List<SelectListItem>
服务器端,使其具有“创建新...”选项。
这样的事情:
var options = new List<SelectListItem>();
options.Add(new SelectListItem
{
Text = "Create new...",
Value = "-1"
});
// Code to loop through rest of options and add them to options
然后在您的客户端,您可能想要一个change
监听器,该监听器会查找被选中的值-1
,然后显示您的新对象的表单,或者您计划的任何内容每当他们选择“新建......”时都要做。