Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dan Borges

Enviar valor do Ajax para Código C#

Recommended Posts

Pessoal, bom dia.

A minha situação é essa. Preciso receber dois valores que vem de um arquivo javascript:

var ap36 = {
    init: function () {
        ap36.cad_cli();
    },

    cad_cli: function () {
        $('#cad').submit(function (e) {
            e.preventDefault();
            var email = $('#email').val(),
                pass = $('#password').val();
            console.log(email, pass);

            $.ajax({
                url: "Cadastrar.aspx/CadastrarDados",
                data: { email: email, pass: pass },
                context: document.body
            }).done(function () {

                console.log('teste');
            });
        });
    }
};
ap36.init();

os valores "email" e "pass" será enviados para esse método:

[System.Web.Services.WebMethod]
    public static void CadastrarDados(string email, string pass)
    {
        DadosUsuarios du = new DadosUsuarios();
        Usuarios us = new Usuarios()
        {
            Id = Guid.NewGuid(),
            Nome = "Nova LOja",
            Email = email,
            Senha = pass,
        };

        du.Inserir(us);        
    }

Testei um script Ajax de exemplo e deu certo, mas nesse script que meu amigo me enviou para criar o site não vai de jeito nenhum. Sinceramente não entendo muito bem o que porque, pois me aventuro muito pouco no desenvolvimento web.

 

Aqui uns tutoriais q encontrei: https://social.msdn.microsoft.com/Forums/pt-BR/be5d4c12-e171-40e7-a472-abc6f4230ffc/enviar-valor-da-varivel-javascript-via-ajax-para-aspx-c?forum=aspnetpt

 

http://www.aspsnippets.com/Articles/Calling-ASPNet-WebMethod-using-jQuery-AJAX.aspx

 

Se puderem dar uma luz. Agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei deste modo, mas não foi. Na verdade, os exemplos que fiz foi passando parametros string.

A pagina ASPX está assim:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Cadastrar.aspx.cs" Inherits="Cadastrar" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>AP36 - Imóveis</title>

    <link rel="stylesheet" href="css/style.css">
</head>
<body>

        <div id="wrap">
       <div id="header">
           <ul>
               <li>
                   <a href="index.html">Home</a>                  
                   <a href="cadastro.html">Cadastro</a>
                   <a href="#"></a>
               </li>
           </ul>          
            
        </div>

           <form id="cad" action="#">

               <label for="Email">Email:</label>
               <input type="text" name="email" id="email" />

               <label for="password">Senha</label>
               <input type="password" name="password" id="password" />

               <input type="submit" value="Cadastrar" />
           </form>
       </div>          

        <script src="bower_components/jquery/dist/jquery.min.js" type="text/javascript"></script>
        <script src="js/ap36.js" type="text/javascript"></script>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Cadastrar : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    [System.Web.Services.WebMethod]
    public static void CadastrarDados(string email, string pass)
    {
        DadosUsuarios du = new DadosUsuarios();
        Usuarios us = new Usuarios()
        {
            Id = Guid.NewGuid(),
            Nome = "Nova Loja",
            Email = email,
            Senha = pass,
        };

        du.Inserir(us);        
    }
}

O arquivo JS que postei acima está separado do HTML.

var ap36 = {

    init: function () {

        ap36.cad_cli();
    },

    cad_cli: function () {

        $('#cad').submit(function (e) {
            e.preventDefault();

            var email = $('#email').val(),
                pass = $('#password').val();

            console.log(email, pass);

            $.ajax({
                url: "Cadastrar.aspx/CadastrarDados",
                data: { email: email, pass: pass },
                context: document.body
            }).done(function () {

                console.log('teste');
            });
        });
    }

};

ap36.init();

Eu realmente, não consigo entender. Os outros exemplos funcionam. Será que é por causa que o arquivo está separado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o teste, colocando o código script no html.

 

Pegue a mensagem de erro também, exemplo:

function Gravar() {
var _data = JSON.stringify({ Texto: sortedIDs });
$.ajax({
type: "POST",
url: "WebLista.aspx/Save_Ordem",
data: _data,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$("#Result").text(msg.d);
},
failure: function (response) {
alert(response.d);
}
});
}

Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.