0

我尝试使用 selectList 在 ASP.NEt mvc 2 中创建视图。

我从我的模型(regDom)中填写了选择列表语言

listLangModel 是我从数据库中检索到的语言列表。

regDom.Languages = 来自 listLangModel 中的 l

               select new SelectListItem
                     {
                        Text = l.Name,
                        Value = l.ID
                     };

在我看来我有这个

        <div class="editor-label">
            <%: Html.LabelFor(model =>> model.Languages) %>
        </div>
        <div class="editor-field">
            <%: Html.DropDownListFor(model =>  model.Languages, Model.Languages) %>
            <%: Html.ValidationMessageFor(model => model.Languages) %>
        </div>

当我运行时,语言在我页面的下拉列表中。但是当我将它发布回我的服务器时,模型不再包含这些语言。而且我无法检查页面上选择了哪种语言。

4

1 回答 1

1

用户只能从下拉列表中选择一种语言,因此您不能期望它填充Languages模型的属性,即集合。

添加一个属性以在模型中保存所选语言:

public string SelectedLanguage { get; set; }

然后将下拉列表绑定到此属性:

<%: Html.DropDownListFor(model => model.SelectedLanguage, Model.Languages) %>
于 2010-06-04T16:44:47.607 回答