none
Partial Views RRS feed

  • Pergunta

  • Ola Pessoal!
    Pessoal estou estudando Partial views mas eu não estou entendendo muito
    Tenho no Model uma classe chamada de class_menu que tem...


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;

    namespace loja_virtual.Models
    {
    public class class_menus
    {
    public string categoria{get; set;}
    public Int64 cod_categoria { get; set; }
    }
    }

    Tenho um controller chamado de HomeController

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using loja_virtual.Models;

    namespace loja_virtual.Controllers
    {



    public class HomeController : Controller
    {


    lojaEntities tabelas = new lojaEntities();



    //
    // GET: /Home/

    public ActionResult Index()
    {
    return View();
    }






    public ActionResult categorias()
    {
    var vetor_menus = from m in tabelas.categoria
    select
    new class_menus()
    {
    categoria = m.categoria1,
    cod_categoria = m.cod_categoria
    };

    return View(vetor_menus);
    }

    }


    Tenho um viwes que chama CATEGORIAS do tipo Partial (pelo Menos é o que eu acho)


    @model IEnumerable<loja_virtual.Models.class_menus>


    <table>

    @foreach (var item in Model) {
    <tr>
    <td>
    @Html.DisplayFor(modelItem => item.categoria)
    </td>
    <td>
    @Html.DisplayFor(modelItem => item.cod_categoria)
    </td>
    <td>
    @Html.DisplayFor(modelItem => item.sub_categoria)
    </td>
    <td>
    @Html.DisplayFor(modelItem => item.cod_sub_categoria)
    </td>

    </tr>
    }

    </table>


    E queria chamar essa views CATEGORIAS e PRODUTOS em uma outra views chamada de INDEX


    @{
    Layout = null;
    }

    <!DOCTYPE html>

    <html>
    <head>
    <title>Index</title>
    </head>
    <body>
    <div>

    @Html.Partial("categorias")
    @Html.Partial("produtos");
    </div>
    </body>
    </html>

    Quando vou executar da o seguinte erro na linha onte tem

    @foreach (var item in Model) {

    Referência de objeto não definida para uma instância de um objeto.


    Desde já eu agradeço ajuda de todos

    • Tipo Alterado AndreAlvesLima terça-feira, 16 de outubro de 2012 18:37
    • Movido AndreAlvesLima terça-feira, 16 de outubro de 2012 18:37 (De:Onde devo postar minha dúvida?)
    terça-feira, 28 de agosto de 2012 11:24

Respostas

  • Galera eu descobri qual erá o problema!

    É que o @Html.Partial() ele não tem acesso ao Controller e eu preciso chamar um metodo no Controller então eu tenho que usar o @Html.Action()

    o @Html.Partial() geralmente e usado para Layout

    pois não precisa ter acesso ao controller mais valeu pela ajuda e fica ai a DICA se usar a camada de Controller não use @Html.Parital...

    ASP.net MVC 3.0 Razoar

    • Marcado como Resposta AndreAlvesLima terça-feira, 16 de outubro de 2012 18:37
    quarta-feira, 29 de agosto de 2012 03:31