Model Create IEnumerable one for many

0

I have the following question.

Having the MODEL MVC classes:

public class Categoria
{
       public int IdCategoria { get; set; }
        public string Nome { get; set; }
}

public class Produto
{
        public int IdProduto { get; set; }
        public string Nome { get; set; }
}


public class Secao
{
  public Categoria categoria { get; set; }
  public IEnumereble<Produto> produtos { get; set; }

}

How is the View of Create done with the model Secao ? The class Categoria was able to be in the view but IEnumerable<Produto> could not.

The scenario is that a section should be included with a category and n products.

    
asked by anonymous 08.08.2014 / 16:01

1 answer

1

I do not know if it is the best solution, but one solution is as follows:

@{
   IEnumerable<Produto> produtos = ViewData["Produtos"] as IEnumerable<Produto>;
   IEnumerable<Categoria> categorias = ViewData["Categoria"] as IEnumerable<Categoria>;
}

@using (Html.BeginForm())
{
   @Html.AntiForgeryToken()
   @Html.ValidationSummary(true)
   <fieldset>
        <div class="editor-label">
             @Html.LabelFor(model => model.Nome)
        </div>
        <div class="editor-field">
             @Html.DropDownList("Categoria", categorias as SelectList)
        </div>
        <div>
             @foreach (var produto in produtos)
             {
                  <div>
                      @Html.CheckBox("chk", false, new { @value = produto.IdProduto" })
                      <label>@produto.Nome</label>
                   </div>
             }
         </div>
     </fieldset>
}
    
08.08.2014 / 16:13