Asp.net mvc 3 如果在局部视图上设置了HtmlFieldPrefix,ASP.Net MVC 3-DropDownListFor将无法从模型中选择值

Asp.net mvc 3 如果在局部视图上设置了HtmlFieldPrefix,ASP.Net MVC 3-DropDownListFor将无法从模型中选择值,asp.net-mvc-3,Asp.net Mvc 3,使用时 <%= Html.DropDownListFor(model => model.FeeTypeId, Model.GetFeeTypes(), new { })%> 下面将按属性名:[value]按全名:[空字符串]打印” 我找到的唯一解决方案是在Model.GetFeeTypes()处生成一个列表,并将我想要的选项标记为选中: <%= Html.DropDownListFor(model => model.FeeTypeId, Model.GetFe

使用时

<%= Html.DropDownListFor(model => model.FeeTypeId, Model.GetFeeTypes(), new { })%>
下面将按属性名:[value]按全名:[空字符串]打印


我找到的唯一解决方案是在Model.GetFeeTypes()处生成一个列表,并将我想要的选项标记为选中:

<%= Html.DropDownListFor(model => model.FeeTypeId, Model.GetFeeTypes(Model.FeeTypeId), new { })%>
model.FeeTypeId,model.GetFeeTypes(model.FeeTypeId),新的{}>
我真的不喜欢这个解决方案+我知道我可以在局部视图中创建列表,这也很难看,

还有其他解决方案吗?

我发现这是MVC中的一个bug。它不是固定的,尽管有一个解决方案。 看看我自己回答的问题(在找到你的帖子之前我也遇到过同样的问题)

问候

Craig

我发现这是MVC中的一个bug。它不是固定的,尽管有一个解决方案。 看看我自己回答的问题(在找到你的帖子之前我也遇到过同样的问题)

问候
克雷格

<%= Html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName("FeeTypeId") %>
<%="by property name: " + Html.ViewData.Eval("FeeTypeId")%><br />
<%= "by full name: " + Html.ViewData.Eval(Html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName("FeeTypeId"))%>
<%= Html.DropDownListFor(model => model.FeeTypeId, Model.GetFeeTypes(Model.FeeTypeId), new { })%>