chamar dois metodos do controller em uma views

28/07/2012

0

Ola Pessoal!
Galera desde já eu queria pedir ajuda de vocês, pois eu estou tentando migrar de PHP para o ASP. net, e estou começando a estudar MVC3 e minha duvida é o seguinte.

Tenho o meu Controller
public ActionResult categorias()
{


var v_categorias = from C in tabelas.categoria
select
new tbl_categoria()
{
categoria = C.categoria1,
codigo = C.cod_categoria
};


return View(v_categorias);
}


public ActionResult Details(int id)
{


var descricao = (from P in tabelas.produtos
join C in tabelas.categoria
on P.categoria_cod_categoria equals C.cod_categoria
where P.cod_produtos == id
select
new categorias_produtos()
{
titulo = P.titulo,
valor = P.valor,
desconto = P.desconto,
imagem = P.imagem,
categoria = C.categoria1,
descricao = P.descricao,
frete = P.frete,
arquivo = P.arquivo
}).First();


return View(descricao);
}



Views
@model asp_net.Models.categorias_produtos

@{
ViewBag.Title = Details;
Layout = ~/Views/Shared/index_master.cshtml;
}

<h2>Details</h2>

<fieldset>
<legend>categorias_produtos</legend>

<div class=display-label>titulo</div>
<div class=display-field>
@Html.DisplayFor(model => model.titulo)
</div>

<div class=display-label>valor</div>
<div class=display-field>
@Html.DisplayFor(model => model.valor)
</div>

<div class=display-label>desconto</div>
<div class=display-field>
@Html.DisplayFor(model => model.desconto)
</div>

<div class=display-label>imagem</div>
<div class=display-field>
@Html.DisplayFor(model => model.imagem)
</div>

<div class=display-label>categoria</div>
<div class=display-field>
@Html.DisplayFor(model => model.categoria)
</div>

<div class=display-label>descricao</div>
<div class=display-field>
@Html.DisplayFor(model => model.descricao)
</div>

<div class=display-label>frete</div>
<div class=display-field>
@Html.DisplayFor(model => model.frete)
</div>

<div class=display-label>arquivo</div>
<div class=display-field>
@Html.DisplayFor(model => model.arquivo)
</div>
</fieldset>
<p>
@Html.ActionLink(Edit, Edit, new { /* id=Model.PrimaryKey */ }) |
@Html.ActionLink(Back to List, Index)
</p>


Estou tentando fazer uma pagina que alem de mostrar os detalhes de um produto eu queria mostra um combobox na views.
EXP.

<select name=categorias>
@foreach(var v_categoria in model)
{
<option value=@v_categoria.cod_categoria>@v_categoria.categoria</option>
}
</select>

Eu não estou conseguindo trazer para views o método categorias () e Details() ao mesmo tempo.
Existe uma maneira de executar dois métodos do controller em uma única views?
Agradeço por qualquer ajuda.

Wallas

Wallas

Responder

Posts

31/07/2012

Renato Groffe

Wallas,


Boa tarde.

Acredito que usando Partial Views você consiga resolver este problema.

Basicamente, você teria uma Action para cada Partial View.

Já numa View normal (que também contará com uma Action), você incluirá as duas Partial Views, usando a instrução abaixo:

@Html.Partial(CampeonatoPaulista, Model.listaTimes)


Nesse link você pode encontrar maiores detalhes:

[url]http://www.devcurry.com/2012/04/partial-views-in-aspnet-mvc-3.html[/url]


Espero que tenha ajudado...
Responder

20/08/2012

Wallas

desculpa eu não ter respondido antes pois eu estava viajando a trabalho eu vou dar uma olhadinha valeu pela ajuda
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar