none
Dúvida com RedirectToAction RRS feed

  • Pergunta

  • Boa noite,

    Tenho um form com um textbox para ser um campo de pesquisa e um botão de submit;

    Após clicar no botão é chamado o método abaixo:

            public ActionResult GetTweets(FormCollection form)
            {
                TwitterInfo twitter = new TwitterInfo(string.Format("&q={0}", form["texto"]));
                return RedirectToAction("Results", twitter);
            }

    O que quero fazer é jogar essa instancia 'twitter' para o método:

            public ActionResult Results(TwitterInfo twitter)
            {
                return View(twitter);
            }

    e este exibir os resultados..

    Porêm está ocorrendo o erro:

    Nenhum construtor sem parâmetros foi definido para este objeto.

    Qual seria o melhor jeito de fazer isso sem usar TempData ??


    http://www.linkedin.com/pub/murilo-kunze/44/191/455


    • Editado Murilo Kunze quinta-feira, 29 de março de 2012 23:46 palavra escrita errada
    quinta-feira, 29 de março de 2012 23:45

Respostas

  • Bom dia,

    Aparentemente o erro é porque não existe uma rota para o metodo Results.

    Então basta adicionar a rota no arquivo Global.asax

    routes.MapRoute(
    	"TwitterResults", // Route name
    	"twitter/results/{twitter}", // URL with parameters
    	new { controller = "Twitter", action = "Results", id = UrlParameter.Optional } // Parameter defaults
    );

    a forma de acesso seria dominio.com.br/twitter/results/bla-bla-bla

    Outra solução é o metodo GetTweets já retornar a view Results

    public ActionResult GetTweets(FormCollection form)
    {
    	TwitterInfo twitter = new TwitterInfo(string.Format("&q={0}", form["texto"]));
    	return View("Results", twitter);
    }

    • Marcado como Resposta Murilo Kunze sexta-feira, 30 de março de 2012 22:52
    sexta-feira, 30 de março de 2012 12:24