none
Exibir informações em _layout.cshtml após pesquisa RRS feed

  • Pergunta

  • Olá!

    Estou desenvolvendo um sistema em asp.net MVC 4. O que preciso fazer agora é: na View "Home/Index" há um local para pesquisa por CPF de um empregador. Essa pesquisa indica que todas as demais páginas irão fornecer informações sobre o empregador selecionado. Porém, eu preciso fazer uma dos dois pontos abaixo:

    - ou eu exibo informações da pessoa pesquisada dentro do meu "Home/Index" após a pesquisa, mostrando nome, data de nascimento, etc.

    - ou redireciono para a "Empregador/Index" trazendo os dados da pessoa selecionada.

    A pesquisa que fiz é via jquery passando as informações, mas não consigo redirecionar. Abaixo segue parte do meu código:

    Dados da minha View de pesquisa que está em um partialView.

    @{
        ViewBag.Title = "Selecionar Empregador";
    }
    @section featured {
        <section class="featured">
            <div class="content-wrapper">
                <hgroup class="title">
                    <h3>@ViewBag.Title</h3>
                </hgroup>
            </div>
        </section>
    }
    <script src="~/Scripts/jquery-1.7.1.js" type="text/javascript"></script>
    <script src="~/Scripts/jquery.maskedinput.js" type="text/javascript"></script>
    <script type="text/javascript">
        jQuery(function ($) {
            $("#txtCPF").mask("999.999.999-99");
    
            $('#btnPesquisa').click(function () {
    
                var model = { CPF: txtCPF.value };
                $.ajax({
                    url: '@Url.Action("Index", "Home")',
                    contentType: 'application/json; charset=utf-8',
                    type: 'POST',
                    dataType: 'html',
                    data: JSON.stringify(model)
                })
                .success(function (result) {
                });
            });
        });
    </script>
    
    <div class="row">
        <div class="col-xs-6 col-sm-4">
            @if (Roles.IsUserInRole("admin"))
            {
                <div class="panel panel-primary">
                    <div class="panel-heading">
                        <h3 class="panel-title">Administrar dados do Empregador</h3>
                    </div>
                    <div class="panel-body">
                        <div class="form-group">
                            <div style="text-align: left">
                                <label>CPF do Empregador:</label>
                            </div>
                            <input type="text" id="txtCPF" class="form-control" placeholder="Informe o CPF para pesquisa"><br />
                            <input type="submit" value="Pesquisar" class="btn btn-primary" id="btnPesquisa" />
                        </div>
                        <p>@ViewBag.EmpregadorSelecionado</p>
                    </div>
                </div>
            }
        </div>
    </div>
    


    A view Home que exibe a partialView:

    @{
        ViewBag.Title = "Home";
    }
    @section featured {
        <section class="featured">
            <div class="content-wrapper">
                <hgroup class="title">
                    <h3>@ViewBag.Title</h3>
                    <h4>Seja bem-vindo ao Portal de Gestão Doméstica.</h4>
                </hgroup>
            </div>
        </section>
    }
    <div>
        @if(Session["EMPREGADOR.ID"]==null)
        {
            @Html.Partial("SelecionarEmpregador")
        }
    </div>
    

    Método do HomeController que realiza a pesquisa no banco de dados:

            [HttpPost]
            public ActionResult Index(Empregador e)
            {
                ServicoDeEmpregador servico = null;
                try
                {
                    Session["EMPREGADOR.ID"] = null;
                    if (e.CPF == null)
                    {
                        return View();
                    }
                    e.CPF = String.Join("", System.Text.RegularExpressions.Regex.Split(e.CPF, @"[^\d]"));
    
                    servico = new ServicoDeEmpregador();
                    Empregador empregadorRetorno = servico.GetBy(e.CPF);
                    if (empregadorRetorno!=null)
                        Session["EMPREGADOR.ID"] = empregadorRetorno.ID;
    
                    //return Redirect("~/Views/Empregador/Index/");
                    ViewBag.EmpregadorSelecionado = empregadorRetorno.Nome;
                    //return View("Index", empregadorRetorno);
                    return View("~/Views/Empregador/Index");
                    //return View("~/Views/Empregador/Index.cshtml");
                }
                finally
                { if (servico != null)servico.Dispose(); }
            }

    Obrigado!


    Thiago Tácito Siqueira

    segunda-feira, 28 de setembro de 2015 14:53