在dropdowList中获取确定的值

时间:2016-07-19 14:25:06

标签: c# drop-down-menu

我正在编辑产品页面,产品具有一些特性,我使用getAll来恢复所有特征。

model.Listcharacteristics= v_ProdutoCharacteristicsMetodos.GetAll(EmpresaId)
                .Select(x => new ProdutoCharacteristicsModel()
                {
                    Apagado = x.Apagado,
                    DeAte = x.DeAte,
                    DepartamentoId = x.DepartamentoId,
                    Descricao = x.Descricao,
                    Description = x.Description,
                    Fator = x.Fator,
                    Keywords = x.Keywords,
                    MostrarHome = x.MostrarHome,
                    NCM = x.NCM,
                    Ordem = x.Ordem,
                    PessoaId = x.PessoaId,
                    ProdutoFamiliaId = x.ProdutoFamiliaId,
                    UrlImagem = x.UrlImagem
                })
                .ToList();

但我有一个方法可以通过产品ID获得产品特性,所以在编辑页面中,我需要显示当前特征而不是默认值,我如何选择哪个值显示在dropDowList中的第一个选择?

在BLL中我创建了这个。

model.Produto.ProdutoFamilia = v_ProdutoFamiliaMetodos.GetById(produtoempresa.ProdutoFamiliaId).Descricao;

我通过produtoempresa(产品)和ProdutoFamiliaId是caractheristic ID,我得到一个带有特征名称的字符串,这个名称是我必须显示的默认值。

html就是这个。

 <tr>
                                <td>
                                    @if (this.Model.ListFamilia != null && (this.Model.ListFamilia.Count > 0))
                                    {
                                        for (int i = 0; i < Model.ListFamilia.Count; i++)
                                        {
                                            @Html.HiddenFor(model => model.ListFamilia[i].ProdutoFamiliaId)
                                            @Html.HiddenFor(model => model.ListFamilia[i].Descricao)
                                        }
                                    }
                                    @Html.DisplayNameFor(model => model.Produto.ProdutoFamiliaId)*
                                </td>
                                <td>
                                    @Html.DropDownListFor(model => model.Produto.ProdutoFamiliaId, new SelectList(Model.ListFamilia, "ProdutoFamiliaId", "Descricao", Model.Produto.ProdutoFamiliaId), String.Empty)
                                </td>
                            </tr>

在dropdowList中,显示的默认值必须是model.Produto.ProdutoFamilia。

1 个答案:

答案 0 :(得分:0)

您通常会渲染下拉框并在html中设置所选值。这是通过

完成的
<select name="hall" id="hall" value="3">
<option  selected="selected">1</option>
<option>2</option>
<option>3</option>
</select>

这将在您的下拉列表中选择第一个选项。从可以获得产品特性的方法中,您应该能够计算要附加的选项

selected="selected" 

希望这有帮助