ASP: لا يتم إرسال نموذج تسجيل الدخول عند الضغط على Enter
-
25-09-2019 - |
سؤال
أواجه مشكلات أثناء استخدام <asp:login>
بطاقة شعار. عندما ينقر المستخدم على زر "تسجيل الدخول" ، سيتم معالجة النموذج بشكل صحيح. ومع ذلك ، عندما يضرب المستخدم مفتاح Enter ، فإن النموذج يقدم ذاتيًا ولا يقوم بمعالجة تسجيل الدخول ، سواء كانت معلومات صحيحة أم لا. أنا أستخدم مزيجًا من Masterpages ، و Umbraco.
يبدو رمز ASPX الخاص بي مثل هذا:
<%@ 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>
في الصفحة الفعلية المقدمة ، أرى هذا JavaScript على النموذج:
<form method="post" action="/dashboard.aspx?" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">
يتم تعريف وظيفة JavaScript على النحو التالي:
<script type="text/javascript">
//<![CDATA[
function WebForm_OnSubmit() {
if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;
return true;
}
//]]>
</script>
يتم تقييم JavaScript دائمًا إلى True عندما يتم تشغيله.
المحلول
سيكون سؤالي الأول: ما هو زر إرسال الأول في النموذج؟ لأن هذا هو الذي سيتلقى الإجراء التقديم.
لا تنتمي إلى StackOverflow