Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Preciso de Ajuda: Controle Login.ascx funciona no FireFox,


luckinrio

Pergunta

Oi pessoal! Tenho um problema curioso.

Eu tenho um controle ascx de login que está inserido dentro da MasterPage. Ele só é exibido quando um usuário não está logado.

Há alguns controles dentro da Login.ascx:

- Um textbox pedindo o login que só aceita número

- Um textbox pedindo a senha

- Alguns FieldValidators para os campos

- Um controle button que ao ser clicado dispara um postback.

No FireFox funciona tudo ok. Quando clicamos é disparado um postback que executa a função no arquivo .VB para logar o usuário e o mesmo é encaminhado par uma página qualquer.

Já em qualquer browser do IE não funciona. Ou melhor, nem ao menos um postback é disparado. Clico no botão e nada acontece!

Aguém já se deparou com problema parecido?

Abaixo o código do arquivo Login.ascx:

<%@ Control Language="VB" AutoEventWireup="false" CodeFile="Login.ascx.vb" Inherits="Login" %>

   <asp:Panel ID="pnLogin" runat="server">
   Usuário:
   <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtLogin" Display="Dynamic" ErrorMessage="Login obrigatório." ValidationGroup="login2">
   </asp:RequiredFieldValidator>

   <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="txtLogin" Display="Dynamic" ErrorMessage="Digite somente números." ValidationExpression="\d*" ValidationGroup="login2"></asp:RegularExpressionValidator>

   <asp:TextBox ID="txtLogin" runat="server" ValidationGroup="login2"></asp:TextBox>

   Senha:
   <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtSenha" Display="Dynamic" ErrorMessage="A senha é obrigatória." ValidationGroup="login2"></asp:RequiredFieldValidator>

   <asp:TextBox ID="txtSenha" runat="server" TextMode="Password" ValidationGroup="login2"></asp:TextBox>

   <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/EsqueceuSenha.aspx">Esqueceu sua senha?</asp:HyperLink>


   <asp:Button  ID="btnLogar2" runat="server" Text="Logar" ValidationGroup="login2"/>


   </asp:Panel>

Agradeço desde já qualquer ajuda!

[]'s

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

luckinrio seja bem ao Fórum Script Brasil, de uma olhada em nossas regras: Regras do Fórum

A propriedade ValidationGroup do seu botão esta definida como login2 já testou para ver se os requisitos deste grupo estão sendo cumpridos?

De repente esta acontecendo ao contrário, o IE esta funcionando corretamente bloqueando o botão e o firefox não esta fazendo a validação.

Faça o teste e poste aqui o resultado.

Abraços...

Link para o comentário
Compartilhar em outros sites

  • 0

Opa! Valeu pela ajuda, quintelab.

Li as regras no tópico que você me passou, simples e direto.

Quanto ao código, fiz dois testes. Retirei todas as propriedades "ValidationGroup" de todos os componentes. Abri o IE7, cliquei no botão e não funcionou. O botão não está bloqueado (algo quando explicitamente aplicamos 'false' para a propriedade 'Enabled') mas clico e nada acontece. É como se não houvesse nenhum evento sobre ele.

O segundo teste colquei de volta a propriedade "ValidationGroup" em todos os componentes necessários com outro nome. E também não funcionou.

Numa outra máquina eu tenho, remotamente usei o IE6 e os testes também não funcionaram.

Todos os testes rodaram e funcionaram perfeitamente no FireFox e, pasme, no Chrome!!!!

Eu tenho uma MasterPage assim:

<%@ Master Language="VB" CodeFile="MasterPageIntranet.master.vb" Inherits="Intranet_MasterPageIntranet" %>

<%@ Register Src="Login.ascx" TagName="Login" TagPrefix="uc1" %>

blablablá... Header, CSSs, JSs...

<body>

<form id="form1" runat="server">

blablablá... menú de topo... blablablá

<!-- Login -->
<uc1:login id="Login1" runat="server" />

<!-- Conteudo -->
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="Server">
</asp:ContentPlaceHolder> 

blablablá... rodapé.. blablablá              

</form>
</body>
</html>

Algo que realmente não consegui achar solução...

Link para o comentário
Compartilhar em outros sites

  • 0

Entendo...

O Javascript está rodando perfeitamente.

A solução que acabei encontrando foi a tradicional, ou seja, retirei o controle ASCX do login da MasterPage e criei uma página Login.aspx (e Login.aspx.vb). Na LoadPage da MasterPage verifico se usuário está logado (olhando variáveis de sessão etc) e se não estiver redireciono para a Login.aspx.

Mas quero deixar em aberto esse problema ocorrido nos browsers IE7 e IE6 com o controle ASCX que criei para o login. :unsure:

Valeu pela ajuda!

Link para o comentário
Compartilhar em outros sites

  • 0

Resolvi o problema.

Havia um form dentro do cabeçalho da masterpage que servia para fazer uma busca. O problema é que esse form não tinha nada além da tag. Não tinha "action", "method", nada! Simplesmente estava jogado lá. O site que estava sendo desenvolvido é um "refactoring" de um site antigo e muito da programação antiga foi aproveitada. Provavelmente a MasterPage recebeu esse form sem nada vindo de telas antigas.

Então fica a atenção para o seguinte: elemento form sem propriedade method e action dentro da MasterPage pode causar o bloqueio da chamada _dopostack em browsers Internet Explorer.

[]'s a todos!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...