C# 如何在asp.net mvc3中将自定义值添加到selectlist

C# 如何在asp.net mvc3中将自定义值添加到selectlist,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我想添加“选择活动”值作为HTML下拉列表的第一个值,但当我添加时,它将显示为下拉列表中的最后一条记录 我想在下拉列表中将默认值显示为“选择活动” 我正在使用ASP.NET MVC3,代码: public SelectList GetSubContractorechniciansList(String subContractorId) { var s1 = GetSubContractorechnicians(subContractorId); var result = s1.T

我想添加“选择活动”值作为HTML下拉列表的第一个值,但当我添加时,它将显示为下拉列表中的最后一条记录

我想在下拉列表中将默认值显示为“选择活动”

我正在使用ASP.NET MVC3,代码:

public SelectList GetSubContractorechniciansList(String subContractorId)
{
    var s1 = GetSubContractorechnicians(subContractorId);
    var result = s1.ToList().Select(d => new
    {
        Key = d.TECH_NUMBER,
        Value = d.EMPLOYEE_TECH_NAME.ToString()
    }).Distinct().ToDictionary(mc => mc.Key, mc => mc.Value);
    result.Add("Select Activity", "Select Activity");
    var selectItems = new SelectList(result, "Key", "Value");            
    return selectItems;
}

在视图中呈现下拉列表时,可以执行以下操作:

@Html.DropDownListFor(x => x.SomeModelProperty, Model.Items, "Select Activity")
或者,如果与所有良好实践相反,您不使用视图模型,而是依赖弱类型的ViewBag和帮助程序:

@Html.DropDownList("ddlName", (IEnumerable<SelectListItem>)ViewBag.Items, "Select Activity")
@Html.DropDownList(“ddlName”,(IEnumerable)ViewBag.Items,“选择活动”)

Html.DropDownList(“ddl”+item.Activity\u Number.ToString(),请参阅我的原始帖子,我添加了下拉控件的视图代码,以及suggetme@user581007,如果这篇文章帮助你解决了这个问题,请点击它旁边的勾号。@DarinDimitrov-我们如何为默认文本指定一个数值?类似于0?@Renegademin,你不能,这没有意义。so的默认值未在逻辑上选择的方法必须是空字符串。这是Html.DropDownListFor帮助程序的开箱即用功能,您无法修改此行为。这是出于设计。如果出于未知原因,您希望使用0作为默认值,则必须编写自己的帮助程序,因为这不符合约定。