Pergunta

Estou tendo um problema ao usar o <asp:login> marcação. Quando um usuário clica no botão "Login", o formulário processa corretamente. No entanto, quando o usuário atinge a tecla Enter, o formulário se envia e não processa o login, seja informações corretas ou não. Estou usando uma combinação de Masterpages e Umbraco.

Meu código ASPX se parece com o seguinte:

 <%@ Master Language="C#" MasterPageFile="/masterpages/AccountCenter.master" CodeFile="~/masterpages/Login.master.cs" Inherits="LoginPage" AutoEventWireup="true" %>

<asp:Content ContentPlaceHolderID="RunwayMasterContentPlaceHolder" runat="server">
    <div class="loginBox">
 <div class="AspNet-Login-TitlePanel">Account Center Login</div>
 <asp:label id="output" runat="server"></asp:label>
 <asp:GridView runat="server" id="GridResults" AutoGenerateColumns="true"></asp:GridView>
 <asp:Login destinationpageurl="~/dashboard.aspx" ID="Login1" OnLoggedIn="onLogin" runat="server" TitleText="" FailureText="The login/password combination you provided is invalid." DisplayRememberMe="false"></asp:Login> 
</div>
</asp:Content>

Na página real renderizada, vejo este JavaScript no formulário:

<form method="post" action="/dashboard.aspx?" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">

Essa função JavaScript é definida como:

    <script type="text/javascript">
//<![CDATA[
function WebForm_OnSubmit() {
if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;
return true;
}
//]]>
</script>

O JavaScript está sempre avaliando como verdadeiro quando é executado.

Foi útil?

Solução

Minha primeira pergunta seria: qual é o primeiro botão de envio no formulário? Porque é esse que receberá a ação de envio.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top