我正在编辑产品页面,产品具有一些特性,我使用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。
答案 0 :(得分:0)
您通常会渲染下拉框并在html中设置所选值。这是通过
完成的<select name="hall" id="hall" value="3">
<option selected="selected">1</option>
<option>2</option>
<option>3</option>
</select>
这将在您的下拉列表中选择第一个选项。从可以获得产品特性的方法中,您应该能够计算要附加的选项
selected="selected"
希望这有帮助