2016-07-19 2 views
0

Я делаю страницу для редактирования продукта, у продукта есть некоторые характеристики, я использую getAll для восстановления всех характеристик.Получите определенное значение внутри dropdowList

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

Если вы дадите нам больше информации о рамках (ы) вы используете , ответы могут быть более конкретными. Например: это ASP.NET MVC или WebForms? – kettch

+0

Его приложение mvc –

+0

Вы используете HTML-помощник? HTML.DropdownList [Для]? – kettch

ответ

0

Обычно вы представляете раскрывающийся список и задаете выбранное значение в html. Это делается с помощью

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

Это будет первый вариант, выбранный в раскрывающемся списке. Из вашего метода, который может получить характеристику продукта, вы должны быть в состоянии вычислить, какой вариант вы хотите добавить

selected="selected" 

Надеется, что это помогает

+0

. Я не понимаю, как это использовать. Я получаю список различных значений на основе EmpresaId (companyId), каждый из них отличается, поэтому Я не знаю фиксированного значения для dropDowList. Внутри этого получить все, есть значение, которое я получил в переменной model.Produto.ProdutoFamilia, мне нужно проверить это значение и посмотреть, существуют ли эти значения в списке getAll, если да выберите его. –