加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – MVC3 @ Html.DropDownList不填充所选项目

发布时间:2020-12-16 00:00:43 所属栏目:asp.Net 来源:网络整理
导读:我在MVC3应用程序中有以下下拉列表,并且所选项目未显示值.我的下拉列表包含在自定义类的列表中.我的观看代码如下. ...for (int i = 0; i Model.PartAttributes.Count; i++){ if (Model.PartAttributes[i].IsActive) { div class="row inline-inputs" label c
我在MVC3应用程序中有以下下拉列表,并且所选项目未显示值.我的下拉列表包含在自定义类的列表中.我的观看代码如下.
...

for (int i = 0; i < Model.PartAttributes.Count; i++)
{
    if (Model.PartAttributes[i].IsActive)
    {
        <div class="row inline-inputs">
            <label class="span5">@Model.PartAttributes[i].DisplayName:</label>
            @Html.DropDownListFor(m => m.PartAttributes[i].Value,Model.PartAttributes[i].PartList,"Choose Part")
            @Html.TextBoxFor(model => Model.PartAttributes[i].Value,new { @class = "mini" })
            @Html.ValidationMessageFor(model => Model.PartAttributes[i].Value)
            @Html.HiddenFor(model => model.PartAttributes[i].AttributeName)

        </div>
    }
}
...

下拉框下方的文本框正确填充,列表选项正确填充.所选选项位于要选择的选项列表中.我能做错什么?

解决方法

试试这样:
@Html.DropDownListFor(
    m => m.PartAttributes[i].Value,new SelectList(
        Model.PartAttributes[i].PartList,"Value","Text",Model.PartAttributes[i].Value
    ),"Choose Part"
)

AFAIK如果此lambda表达式表示具有集合的复杂嵌套属性,则DropDownListFor帮助程序无法确定作为第一个参数传递的lambda表达式中的选定值.但是使用简单的属性:m => m.FooBar.我知道它有点糟糕,但希望这将在未来的版本中修复.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读