Usuário com melhor resposta
Dados inválidos

Pergunta
-
No código abaixo debugando o retorno é igual ao TextBox2_senha.Text , mas está retornando com "Dados inválidos.". Alguém orienta algo?
Código no WebForm1_login.aspx.vb:Protected Sub Button1_entrar_Click(sender As Object, e As EventArgs) Handles Button1_entrar.Click
Dim u As ClassModel1_usuario = New ClassModel1_usuario()
Dim retorno As String = u.VerificaSenha(TextBox1_usuario.Text)
If retorno = TextBox2_senha.Text Then
Label1_Erro_login.Text = "Acesso Válido"
FormsAuthentication.RedirectFromLoginPage(TextBox1_usuario.Text, True)
Response.Redirect("WebForm1_menu.aspx")
End If
Label1_Erro_login.Text = "Dados inválidos."
End SubAbaixo um trecho código WebConfig:
<authentication mode="Forms">
<forms name="ckLog" loginUrl="index.aspx" defaultUrl="WebForm1_menu.aspx" timeout="30" path="/" />
</authentication>
<siteMap enabled="true">
<providers>
<clear/>
<add siteMapFile="Web.sitemap" name="AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider" securityTrimmingEnabled="true"/>
</providers>
</siteMap>
</system.web>
<location path="index.aspx">
<system.web>
<authorization>
<allow roles="index.aspx"/>
<deny users="*" />
</authorization>
</system.web>
</location>
<location path="WebForm1_cad.aspx">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
<location path="WebForm1_cad_pf.aspx">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
</configuration>Trecho do código no WebForm1_menu.aspx:
<body>
<form id="form1" runat="server" style="text-align: center;">
<div>
<br />
<br />
<br />
<br />
SUCESSO!!!!!!!!!!!!!!!!!!!!!!!!!!
<br />
<br />
<br />
<asp:Menu ID="Menu1" runat="server" ShowStartingNode="fase" Orientation="Horizontal" DataSourceID="SiteMapDataSource1"></asp:Menu>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
</div>
</form>
</body>Código no WebSiteMap:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode roles="*">
<siteMapNode url="index.aspx" title="HOME" description="" />
<siteMapNode url="WebForm1_cad_PJ.aspx" title="Cadastro PJ" description="" />
<siteMapNode url="WebForm1_cad_pf.aspx" title="Cadastro PF" description="" />
</siteMapNode>
</siteMap>
Respostas
-
Diego obrigado pelo retorno,
veja no Debug o resultado da linha "retorno = TextBox2_senha.Text"
retorno: "SDSI "
TextBox2_senha.Text: "SDSI"
então, eu inclui no banco mais seis digitos, pois é um Nchar(10) e funcionou.
Correto Wilson,
Me passou desapercebido a questão que em caso de sucesso, mesmo a Label sendo alterada a página é redirecionada e não é exibida para o usuário.
Mas debugando, você conseguiu perceber, que sem o true no Redirect, ele está seguindo o fluxo e passando pela alteração da label, correto?
Se o problema for os espaços no final, você pode tratar com um .Trim() também.
Abraços.
- Marcado como Resposta Wilson Boris sexta-feira, 10 de maio de 2013 21:31
Todas as Respostas
-
Olá, há muito tempo não trabalho com vb.net, porém me parece que seu erro é devido o código abaixo não estar no else.
Label1_Erro_login.Text = "Dados inválidos."
Dessa forma, ele passará pelo redirect, continuará o fluxo e passará por essa linha de código que sempre setará o valor "Dados inválidos." para o Label.
Tem um parâmetro boleano no redirect (endResponse) que força a finalização do fluxo, devolvendo a resposta para o usuário sem concluir o ciclo de vida da página:
Response.Redirect("WebForm1_menu.aspx", true)
Porém, mesmo assim eu colocaria esse comando que seta o "Dados inválidos." no Else, até para evitar confusão futura.
Abraços.
-
-
Diego obrigado pelo retorno,
veja no Debug o resultado da linha "retorno = TextBox2_senha.Text"
retorno: "SDSI "
TextBox2_senha.Text: "SDSI"
então, eu inclui no banco mais seis digitos, pois é um Nchar(10) e funcionou.
Correto Wilson,
Me passou desapercebido a questão que em caso de sucesso, mesmo a Label sendo alterada a página é redirecionada e não é exibida para o usuário.
Mas debugando, você conseguiu perceber, que sem o true no Redirect, ele está seguindo o fluxo e passando pela alteração da label, correto?
Se o problema for os espaços no final, você pode tratar com um .Trim() também.
Abraços.
- Marcado como Resposta Wilson Boris sexta-feira, 10 de maio de 2013 21:31