usar retorno javascript em c sharp.

16/10/2012

0

Prezados, muito bom dia,estou tendo um pequeno problema com jquery (javascript). Estou programando em c#, utilizando como motor o razor, e a aplicação é mvc3.
Minha tarefa: criar uma lista com "N" funcionarios, e possibilitar que quando o usuario do sistema clicar sobre um determinado funcionario, seja apresentado uma janela jquery modal trazendo em seus campos, os dados do funcionario em questao, para possibilitar a edição do mesmo.
Já consegui fazer uma tabela listando todos os funcionarios e ao clicar sobre o funcionario, a jquery Modal é exibida, entretanto, não estou sabendo é como injetar os dados do funcionario no jquery. Acredito precisar de um javascript, que pega alguma referencia do clique do usuario, para eu poder fazer uma nova pesquisa na minha base de dados e ai sim trazer os dados setados no jquery.

Abaixo segue algumas das minhas implementações:

<div id="funcionario">
    <table>
        <tr>
            <th>Nome</th>
            <th>Email</th>
            <th>Telefone</th>
        </tr>
        @foreach (var a in ViewBag.Dados)
        {
            <tr" >
                <td ><a href="#login-box" class="login-window " lass="idCliente">@a.FullName</a></td>
                <td><a  href="#login-box" class="login-window" class="idCliente">@a.Emailaddress1</a></td>
                <td><a href="#login-box" class="login-window" class="idCliente">@a.Mobilephone</a></td>
            </tr>
             
        }
    </table>
   
//este é o jquery modal que aparecerá na tela, após o clique

    <div id="login-box" class="login-popup" >
        @using (Html.BeginForm("PegarDados", "PopUp", new { Class = "signin" }))
        {   
            <fieldset class="textbox">
                <label class="username">
                    <span>Nome</span><br />
                    <input id="username" name="nome" type="text" size="70" autocomplete="on" /><br />
                </label>
                <p class="password">
                    <span>Telefone</span><br />
                    <input id="password" name="password" type="password" size="40" /><br />
                </p>
                <input class="submit button" type="submit" value="Send" />
                <p>
                    <a class="forgot" href="#">Forgot your password?</a>
                </p>
            </fieldset>
        }
    </div>
</div>



<script type="text/javascript">
//este js aqui, eu implementei, e ele traz exatamente o nome do funcionário clicado
    nome2;
    [ ].forEach.call(document.querySelectorAll(".idCliente"), function (el) {
        el.addEventListener("click", function () {
            nome2 = el.innerHTML;
        });
    });



//a partir daqui, é o js do modal

    $(document).ready(function() {
        $('a.login-window').click(function(){

            //Getting the variable's value from a link 
            var loginBox = $(this).attr('href');

            //Fade in the Popup
            $(loginBox).fadeIn(300);

            //Set the center alignment padding + border see css style
            var popMargTop = ($(loginBox).height() + 24) / 2;
            var popMargLeft = ($(loginBox).width() + 24) / 2;

            $(loginBox).css({
                'margin-top': -popMargTop,
                'margin-left': -popMargLeft
            });

            // Add the mask to body
            $('body').append('<div id="mask"></div>');
            $('#mask').fadeIn(300);

            return false;
        });

        // When clicking on the button close or the mask layer the popup closed
        $('a.close, #mask').live('click', function () {
            $('#mask , .login-popup').fadeOut(300, function () {
                $('#mask').remove();
            });
            return false;
        });
    });

</script>


Desde já agradeço pela atenção de todos.
Dm Ltda

Dm Ltda

Responder

Posts

19/10/2012

Dm Ltda

pessoal, vejo que o que preciso, ou não está explicado corretamente, ou realmente é algo difícil..... mas em minhas pesquisas por solução, pude ver algo que se assemelha com o que preciso. Em PHP, é possível fazer algo desta forma:
<script type="text/javascript">var x = "texto de exemplo"; </script>
<?php
$valor = "<script type="text/javascript">document.write(x); </script>";
echo $valor;
?>

Bem, desta forma a variável 'x' recebe o valor que esta na variável javascript. Com esse valor seria possível, por exemplo criar uma nova consulta no banco de dados e retornar todos os valores necessários para popularem o meu jquery modal. Só que, atualmente trabalho com C#, ASP.NET MVC3 e RAZOR, e com estas ferramentas não está sendo possível atingir tal objetivo. Será que alguém poderia me ajudar?

Atenciosamente,
Fabio Junio.
Responder

25/10/2012

Robson Alves

Tenho pouca experiência com MVC, estou projetando um site com esta tecnologia e estou sofrendo tmb.

Mas no seu caso, eu indico no caso fazer uma requisição via Jquery.Ajax, utilizo muito isso quando preciso de dados sem qualquer submit do form.

[url]http://api.jquery.com/jQuery.ajax/[/url]


abs.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar