ASP.NET MVC - View com parâmetro opcional

.NET

12/09/2013

Olá, gente.
Estou com a seguinte ideia e gostaria de implementá-la, mas meus conhecimentos em MVC ainda não me permitiram chegar a uma forma de fazer: no controller, por padrão tem a action Index, que é a que lista os itens da tabela. Eu gostaria de poder passar um parâmetro para a Index, mas também queria que ela pudesse ser chamada sem parâmetro. Por exemplo, as seguintes chamadas seriam válidas:
meuprojeto/Produtos
meuprojeto/Produtos/1


Na primeira chamada, listaria normalmente os itens, que é o que já acontece. Porém, SE eu passasse um parâmetro (valor inteiro representando o código do produto), eu queria automaticamente redirecionar para a view de detalhes do produto, pra não precisar chamar manualmente meuprojeto/Produtos/Details/1.

Não sei se fui clara. Se alguém já tiver feito isso ou souber como implementar e puder compartilhar comigo, eu agradeceria muito. =)

Grata desde já.
Rachel Andrade

Rachel Andrade

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

12/09/2013

Olá, Rachel. Creio que seja preciso criar uma rota customizada ou passar o parâmetro com default null.
Vou fazer alguns testes e dou um retorno em breve.
GOSTEI 0
Matheus Caldas

Matheus Caldas

12/09/2013

Olá, gente.
Estou com a seguinte ideia e gostaria de implementá-la, mas meus conhecimentos em MVC ainda não me permitiram chegar a uma forma de fazer: no controller, por padrão tem a action Index, que é a que lista os itens da tabela. Eu gostaria de poder passar um parâmetro para a Index, mas também queria que ela pudesse ser chamada sem parâmetro. Por exemplo, as seguintes chamadas seriam válidas:
meuprojeto/Produtos
meuprojeto/Produtos/1


Na primeira chamada, listaria normalmente os itens, que é o que já acontece. Porém, SE eu passasse um parâmetro (valor inteiro representando o código do produto), eu queria automaticamente redirecionar para a view de detalhes do produto, pra não precisar chamar manualmente meuprojeto/Produtos/Details/1.

Não sei se fui clara. Se alguém já tiver feito isso ou souber como implementar e puder compartilhar comigo, eu agradeceria muito. =)

Grata desde já.


Bom dia,

Você pode criar duas Action Index uma com parametro e outra sem, ou
dependendo do parametro você pode fazer assim:

public ActionResult Index(int? parametronull) { return View(); }//nesse caso ele aceitara parametros null
GOSTEI 0
Rachel Andrade

Rachel Andrade

12/09/2013

Obrigada, gente. Consegui resolver isso sim.
Desculpem a demora em dar um retorno.
GOSTEI 0
POSTAR