问题描述
我有一个基于ASPX的解决方案,该解决方案在.NET 4.8和IIS 6.2下运行。我们有一个登录屏幕。
当用户输入用户名和密码,然后按回车键或单击回车键时,他们应该已登录。我们遇到的问题是,如果用户单击登录按钮,一切都很好,但是如果他们按回车键,则页面似乎刷新但不发回。
一些历史...几年前我们在GoDaddy托管下遇到了这个问题。他们更改了某些IIS设置,从而破坏了我们的应用程序并导致了这种情况。他们不会撤消此设置,因为该设置(他们不会告诉我什么设置)将应用于同一IIS上的其他设置。我们移到了新主机上,并且现在在其主机上运行了自己的IIS。我们已经有多年没有这个问题了,现在最近又重新出现了。当我通过Visual Studio在IIS Express下本地测试此代码时,我们没有问题。当我发布到我们的服务器时,出现了问题。
我正在把头发拔掉。
<form id="Form1" runat="server">
<div class="container" id="container" runat="server">
<div class="row">
<div class="col-md-4">
</div>
<div class="col-md-4">
<p style="text-align: center;">
<img src="./images/logo160x300.png" />
</p>
<h2>
Sign In</h2>
<div id="errorPanel" runat="server" style="display: none;">
<asp:label ID="lblAuthenticationFailure" runat="server" Text="Login Failed. Please check your username and password."
Visible="True" Font-Bold="True" ForeColor="#CC0000"></asp:label>
<br />
<br />
</div>
<label for="txtUser">
Email</label>
<asp:TextBox ID="txtUser" runat="server" placeholder="Email" type="email" class="form-control"
required autofocus AutoComplete="username"></asp:TextBox>
<br />
<label for="txtPassword">
Password</label>
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" placeholder="Password"
class="form-control" required AutoComplete="current-password"></asp:TextBox>
<div class="text-right small">
<a href="forgotpassword.aspx">Forgot your password?</a></div>
<br />
<asp:Button ID="butLogin" runat="server" Text="Sign in" type="submit" class="btn btn-lg btn-primary btn-block" />
<br />
<div class="text-center">
New? Need an Account?<br />
</div>
<a class="btn btn-default btn-lg btn-block" href="createlogin.aspx" role="button">Create
an account</a>
<br />
</div>
</div>
</div>
</form>
解决方法
在表单标签中,将defaultButton设置为登录按钮。
<form id="form1" runat="server" defaultbutton="IdOfSubmitbutton">
,
您可以在PageLoad上设置默认的回发按钮,
Page.Form.DefaultButton = myButton;
确保进行搜索。可能已经回答了。