AJUDA COM ASP.NET

KURTGU 27/12/2016 14:17:00
#470102
Pessoal to começando a criar app em web pois nunca tinha feito ou trabalhado com isso... estou tentando algumas coisas, mais algumas acho na net outras estou tentando entender...

Fiz um login com mysql, ele funciona corretamente. Mais gostaria de saber como faco para chamar uma form modal bootstrap com uma mensagem caso o usuario nao exista ou senha esta incorreta...tentei da forma abaixo. Fiz o login usando este tutorial. http://www.c-sharpcorner.com/blogs/login-page-using-mysql-database1 o tutorial esta em C# estou usando VB...


<div>
<%if (login = 1) Then %>

<% Else %>
<div class=[Ô]modal fade bs-example-modal-sm[Ô] tabindex=[Ô]-1[Ô] role=[Ô]dialog[Ô] aria-labelledby=[Ô]mySmallModalLabel[Ô]>
<div class=[Ô]modal-dialog modal-sm[Ô] role=[Ô]document[Ô]>
<div class=[Ô]modal-content[Ô]>
Usuário ou senha invalidos...
</div>
</div>
</div>
<% End if%>
</div>
KERPLUNK 27/12/2016 21:30:52
#470107
Você está com a idéia errada... está querendo usar uma aplicação Web da mesma maneira que uma desktop. O que deveria ser:
- O método de login retorna o estado de login. Se deu certo, retorna [Ô]ok[Ô], se não, retorna uma mensagem de erro. Caso o retorno não seja [Ô]ok[Ô], você exibe a mensagem de erro.
- Uma das várias maneiras de se fazer isso é usar um WebMethod. Que nada mais é que um método estático no seu form, decorado com [Ô]System.Web.Services.WebMethod[Ô]. Tenho um vídeo mostrando como fazer isso
KERPLUNK 28/12/2016 01:26:34
#470111
E então, conseguiu?
KURTGU 28/12/2016 02:04:53
#470113
Citação:

:
E então, conseguiu?



To na luta ainda KerpLuck, consegui exibir a mensagem em uma label mais não sei se fiz da forma correta to refazendo o seu tutorial.... pra ver se consigo com o aviso modal....
KERPLUNK 28/12/2016 02:31:27
#470117
Resposta escolhida
O que está com dificuldade? Mostrar o modal? Criar o método decorado com WebMethod? Outra coisa?
GUIMORAES 28/12/2016 13:38:20
#470131
Só um palpite.

  

<WebMethod>
Public Function efetuarLogin(Resultado As Boolean) As Boolean
Try
Conectar()
Dim query As String
query = ([Ô]Select * From tb_login Where usuario=[ô][Ô] & txtusuario.Text & [Ô][ô] and senha=[ô][Ô] & txtsenha.Text & [Ô][ô][Ô])
myCMD = New MySqlCommand(query, myCON)
myDRR = myCMD.ExecuteReader()
If myDRR.HasRows = True Then
While myDRR.Read()
Session([Ô]name[Ô]) = myDRR([Ô]usuario[Ô]).ToString()
Response.Redirect([Ô]Principal/Principal.aspx[Ô])
efetuarLogin(True)
End While
ElseIf myDRR.HasRows = False Then
efetuarLogin(False)
End If
myDRR.Close()
myCON.Close()

Catch ex As Exception

End Try
Desconectar()
Return Resultado.ToString()
End Function



Você quer trabalhar com web né?
Se sim, começa a utilizar parâmetros nas suas consultas, pois poderá ter problemas com SQL Injection.

  Select * From tb_login Where usuario=[ô][Ô] & txtusuario.Text & [Ô][ô] and senha=[ô][Ô] & txtsenha.Text & [Ô][ô] 


Usa-se

  Select * From tb_login Where usuario=@usuario and senha=@senha 


Desta forma você pode chamar seu método no codebehind via ajax, passando os valores dos texbox como parâmetro.

  

<WebMethod>
Public Function efetuarLogin(Dim usuario as string, Dim senha as string) As Boolean
End Function


Outra questão importante é, se você está retornando um tipo booleano, não precisa passar ele para .ToString

 Return Resultado.ToString()  


Só assim.
  Return Resultado 


Mas nas condições que escrevi acima, você deve instanciar esta variável dentro da sua função, para que você possa ter o controle do que está acontecendo.
KERPLUNK 28/12/2016 22:46:11
#470150
Não sei se você reparou, mas no vídeo que passei, tem código fonte para baixar...
KURTGU 28/12/2016 23:05:30
#470151
Citação:

:
Não sei se você reparou, mas no vídeo que passei, tem código fonte para baixar...



Opa Kerpluck desta vez consegui sem olhar o fonte, kkkkk só estou com problema pra exibir o modal mas to quase...


<script type=[Ô]text/javascript[Ô] src=[Ô]http://cdnjs.cloudflare.com/ajax/libs/json2/20130526/json2.min.js[Ô]></script>
<script type=[Ô]text/javascript[Ô]>
$(function () {
$([Ô][id*=btnEntrar][Ô]).click(function () {
var obj = {};
obj.usuario = $.trim($([Ô][id*=txtusuario][Ô]).val());
obj.senha = $.trim($([Ô][id*=txtsenha][Ô]).val());
$.ajax({
type: [Ô]POST[Ô],
url: [Ô]Default.aspx/efetuarlogin[Ô],
data: JSON.stringify(obj),
contentType: [Ô]application/json; charset=utf-8[Ô],
dataType: [Ô]json[Ô],
success: function (r) {
$([Ô]#myModal[Ô]).html(r.d);
$([Ô]#myModal[Ô]).dialog([Ô]open[Ô]);
}

});
return false;
});
});
</script>
KERPLUNK 28/12/2016 23:42:36
#470152
1 - Você não precisa do stringfy. Os parâmetros à serem enviados para seu método no codebehind, podem simplesmente serem especificados no argumento [Ô]data[Ô].
2 - Para buscar os valores, você está usando a maneira mais estranha possível. Simplesmente use o seletor [Ô]#[Ô] do JQuery. Se os elementos forem server-side como [Ô]<asp:Textbox>, você pode usar a propriedade [Ô]ClientID[Ô].
3 - Você ainda não aprendeu a diferenciar [Ô]mas[Ô] de [Ô]mais[Ô]
Como ficaria o código com o que passei:

<div id=[Ô]myModal[Ô] class=[Ô]modal hide fade[Ô] tabindex=[Ô]-1[Ô] role=[Ô]dialog[Ô] aria-labelledby=[Ô]myModalLabel[Ô] aria-hidden=[Ô]true[Ô]>
<div class=[Ô]modal-header[Ô]>
<button type=[Ô]button[Ô] class=[Ô]close[Ô] data-dismiss=[Ô]modal[Ô] aria-hidden=[Ô]true[Ô]>×</button>
<h3 id=[Ô]myModalLabel[Ô]>Cabeçalho modal</h3>
</div>
<div class=[Ô]modal-body[Ô]>
<p id=[Ô]mensagemModal[Ô]></p>
</div>
<div class=[Ô]modal-footer[Ô]>
<button class=[Ô]btn[Ô] data-dismiss=[Ô]modal[Ô] aria-hidden=[Ô]true[Ô]>Fechar</button>
</div>
</div>
<script type=[Ô]text/javascript[Ô]>
$(function () {
$([Ô][id*=btnEntrar][Ô]).click(function () {
var usuario = $([Ô]#<%= txtusuario.ClientID %>[Ô]).val() ;
var senha = $([Ô]#<%= txtsenha.ClientID %>[Ô]).val() ;
$.ajax({
type: [Ô]POST[Ô],
url: [Ô]Default.aspx/efetuarlogin[Ô],
data: {[Ô]usuario: [ô][Ô] + usuario + [Ô][ô], senha: [ô][Ô] + senha + [Ô][ô]};
contentType: [Ô]application/json; charset=utf-8[Ô],
dataType: [Ô]json[Ô],
success: function (r) {
$([Ô]#mensagemModal[Ô]).text(r.d);
$([ô]#myModal[ô]).modal([ô]show[ô]);
}

});
return false;
});
});
</script>


Algo assim.
KURTGU 29/12/2016 00:05:05
#470154
Já tinha tentado desta forma... Ele não da o alerta...

Citação:

:
1 - Você não precisa do stringfy. Os parâmetros à serem enviados para seu método no codebehind, podem simplesmente serem especificados no argumento [Ô]data[Ô].
2 - Para buscar os valores, você está usando a maneira mais estranha possível. Simplesmente use o seletor [Ô]#[Ô] do JQuery. Se os elementos forem server-side como [Ô]<asp:Textbox>, você pode usar a propriedade [Ô]ClientID[Ô].
3 - Você ainda não aprendeu a diferenciar [Ô]mas[Ô] de [Ô]mais[Ô]
Como ficaria o código com o que passei:


<div id=[Ô]myModal[Ô] class=[Ô]modal hide fade[Ô] tabindex=[Ô]-1[Ô] role=[Ô]dialog[Ô] aria-labelledby=[Ô]myModalLabel[Ô] aria-hidden=[Ô]true[Ô]>
<div class=[Ô]modal-header[Ô]>
<button type=[Ô]button[Ô] class=[Ô]close[Ô] data-dismiss=[Ô]modal[Ô] aria-hidden=[Ô]true[Ô]>×</button>
<h3 id=[Ô]myModalLabel[Ô]>Cabeçalho modal</h3>
</div>
<div class=[Ô]modal-body[Ô]>
<p id=[Ô]mensagemModal[Ô]></p>
</div>
<div class=[Ô]modal-footer[Ô]>
<button class=[Ô]btn[Ô] data-dismiss=[Ô]modal[Ô] aria-hidden=[Ô]true[Ô]>Fechar</button>
</div>
</div>
<script type=[Ô]text/javascript[Ô]>
$(function () {
$([Ô][id*=btnEntrar][Ô]).click(function () {
var usuario = $([Ô]#<%= txtusuario.ClientID %>[Ô]).val() ;
var senha = $([Ô]#<%= txtsenha.ClientID %>[Ô]).val() ;
$.ajax({
type: [Ô]POST[Ô],
url: [Ô]Default.aspx/efetuarlogin[Ô],
data: {[Ô]usuario: [ô][Ô] + usuario + [Ô][ô], senha: [ô][Ô] + senha + [Ô][ô]};
contentType: [Ô]application/json; charset=utf-8[Ô],
dataType: [Ô]json[Ô],
success: function (r) {
$([Ô]#mensagemModal[Ô]).text(r.d);
$([ô]#myModal[ô]).modal([ô]show[ô]);
}

});
return false;
});
});
</script>


Algo assim.


KURTGU 29/12/2016 00:07:07
#470155
<%@ Page Language=[Ô]vb[Ô] AutoEventWireup=[Ô]false[Ô] CodeBehind=[Ô]Default.aspx.vb[Ô] Inherits=[Ô]Login._Default[Ô] %>



<!DOCTYPE html PUBLIC [Ô]-//W3C//DTD XHTML 1.0 Transitional//EN[Ô] [Ô]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[Ô]>
<html xmlns=[Ô]http://www.w3.org/1999/xhtml[Ô]>
<head id=[Ô]Head1[Ô] runat=[Ô]server[Ô]>
<title></title>


<script type=[Ô]text/javascript[Ô] src=[Ô]Scripts/jquery-1.9.1.min.js[Ô]></script>
<link href=[Ô]Content/bootstrap.min.css[Ô] rel=[Ô]stylesheet[Ô] />
<script type=[Ô]text/javascript[Ô] src=[Ô]http://cdnjs.cloudflare.com/ajax/libs/json2/20130526/json2.min.js[Ô]></script>




<script type=[Ô]text/javascript[Ô]>
$(function () {
$([Ô][id*=btnEntrar][Ô]).click(function () {
var usuario = $([Ô]#<%= txtusuario.ClientID %>[Ô]).val();
var senha = $([Ô]#<%= txtsenha.ClientID %>[Ô]).val();
$.ajax({
type: [Ô]POST[Ô],
url: [Ô]Default.aspx/efetuarlogin[Ô],
data: [Ô]{[ô]usuario[ô]: [ô][Ô] + usuario + [Ô][ô],[ô]senha[ô]: [ô][Ô] + senha + [Ô][ô]}[Ô],
contentType: [Ô]application/json; charset=utf-8[Ô],
dataType: [Ô]json[Ô],
success: function (r) {
$([Ô]#mensagemModal[Ô]).text(r.d);
$([ô]#myModal[ô]).modal([ô]show[ô]);
}
});
return false;
});
});
</script>

</head>
<body>
<form id=[Ô]form1[Ô] runat=[Ô]server[Ô]>
<table border=[Ô]0[Ô] cellpadding=[Ô]0[Ô] cellspacing=[Ô]0[Ô]>
<tr>
<td>
Usuario:
</td>
<td>
<asp:TextBox ID=[Ô]txtusuario[Ô] runat=[Ô]server[Ô] Text=[Ô]adm[Ô] />
</td>
</tr>
<tr>
<td>
Senha:
</td>
<td>
<asp:TextBox ID=[Ô]txtsenha[Ô] runat=[Ô]server[Ô] Text=[Ô]adm[Ô] />
</td>
</tr>
<tr>
<td>
<asp:Button ID=[Ô]btnEntrar[Ô] Text=[Ô]Efetuar Login[Ô] runat=[Ô]server[Ô] />
</td>
</tr>
</table>

<div id=[Ô]myModal[Ô] class=[Ô]modal hide fade[Ô] tabindex=[Ô]-1[Ô] role=[Ô]dialog[Ô] aria-labelledby=[Ô]myModalLabel[Ô] aria-hidden=[Ô]true[Ô]>
<div class=[Ô]modal-header[Ô]>
<button type=[Ô]button[Ô] class=[Ô]close[Ô] data-dismiss=[Ô]modal[Ô] aria-hidden=[Ô]true[Ô]>×</button>
<h3 id=[Ô]myModalLabel[Ô]>Cabeçalho modal</h3>
</div>
<div class=[Ô]modal-body[Ô]>
<p id=[Ô]mensagemModal[Ô]></p>
</div>
<div class=[Ô]modal-footer[Ô]>
<button class=[Ô]btn[Ô] data-dismiss=[Ô]modal[Ô] aria-hidden=[Ô]true[Ô]>Fechar</button>
</div>
</div>

</form>

</body>

</html>

Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas