Array
(
)

ASP.NET MVC - View com parâmetro opcional

Rachel Andrade
   - 12 set 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:
#Código

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á.

Joel Rodrigues
   - 05 out 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.

Matheus Caldas
   - 06 out 2013


Citação:
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:
#Código

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:

#Código
public ActionResult Index(int? parametronull) { return View(); }//nesse caso ele aceitara parametros null

Rachel Andrade
   - 04 jun 2014

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