C# MVC2 DropDownListFor存在问题,仅显示类名

C# MVC2 DropDownListFor存在问题,仅显示类名,c#,asp.net-mvc-2,html.dropdownlistfor,C#,Asp.net Mvc 2,Html.dropdownlistfor,你好 我对Html.dropdownlist有这个问题,我似乎无法解决。。它为我提供了正确数量的选项,如果我在代码中设置一个断点来呈现列表,“SelectItemList”对象包含具有正确值的项目,但它实际显示的HTML如下所示: <select id="Reason_ReasonId" name="Reason.ReasonId"><option>System.Web.Mvc.SelectListItem</option> <option>Sys

你好

我对Html.dropdownlist有这个问题,我似乎无法解决。。它为我提供了正确数量的选项,如果我在代码中设置一个断点来呈现列表,“SelectItemList”对象包含具有正确值的项目,但它实际显示的HTML如下所示:

<select id="Reason_ReasonId" name="Reason.ReasonId"><option>System.Web.Mvc.SelectListItem</option>
<option>System.Web.Mvc.SelectListItem</option>
<option>System.Web.Mvc.SelectListItem</option>
<option>System.Web.Mvc.SelectListItem</option>
<option>System.Web.Mvc.SelectListItem</option>
<option>System.Web.Mvc.SelectListItem</option>
</select>
最后但并非最不重要的一点是,该视图:

<%: Html.DropDownListFor(m => m.Reason.ReasonId, Model.ReasonList) %>
m.Reason.ReasonId,Model.ReasonList)%%>

你知道它为什么会这样吗?正如我所说,在实际代码中(在视图中),我有正确的值,但是。。它不喜欢我。。任何帮助都将不胜感激,提前谢谢

好的。。似乎您必须指定SelectListItem中的哪个变量用于“值”,哪个变量用于“文本”

变成

selectList = new SelectList(selectItems, "Value", "Text");
这似乎成功了

<%: Html.DropDownListFor(m => m.Reason.ReasonId, Model.ReasonList) %>
selectList = new SelectList(selectItems);
selectList = new SelectList(selectItems, "Value", "Text");