ASP.NET の既定のボタンと既定のフォーカスが機能しません。私のアプリケーションは、サーバー マンチンの IIS でホストされています。(サーバー名はServer1と言います)。マシン フォーカス外のアプリケーション URL にアクセスし、デフォルトのボタン クリックが正常に機能している場合 (http://Server1/VPath/Login.aspx) 。サーバーで localhost を使用してアプリケーション URL にアクセスしている場合、正常に動作しています (http://localhost/VPath/Login.aspx) が、サーバーを使用して URL にアクセスしているときに、フォーカスとデフォルト ボタンのクリック (Enter) が機能しません。サーバーでの名前。(http://server1/VPath/Login.aspx)。問題は何ですか?
注: IE のバージョンは、上記のすべてのケースで同じです。
これが私のコードファイルです。
ログイン.aspx
<asp:Panel ID="LoginWrapper" runat="server" CssClass="loginWrapper" >
<asp:Login ID="LoginControl" runat="server" meta:resourcekey="LoginResource1"
DisplayRememberMe="false" OnAuthenticate="authenticate">
<LayoutTemplate>
<table>
<tr>
<td>
<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName" meta:resourcekey="UserNameLabelResource1"
Text="User Name:"></asp:Label></td>
<td>
<asp:TextBox ID="UserName" runat="server" meta:resourcekey="UserNameResource1"></asp:TextBox>
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
ErrorMessage="User Name is required." ToolTip="User Name is required."
meta:resourcekey="UserNameRequiredResource1" Text="*"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password" meta:resourcekey="PasswordLabelResource1"
Text="Password:"></asp:Label></td>
<td>
<asp:TextBox ID="Password" runat="server" TextMode="Password" meta:resourcekey="PasswordResource1"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="2" style="text-align: center; color: red">
<asp:Literal ID="FailureText" runat="server" EnableViewState="False" meta:resourcekey="FailureTextResource1"></asp:Literal>
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Login"
meta:resourcekey="LoginButtonResource1" /></td>
</tr>
</table>
</LayoutTemplate>
</asp:Login>
</asp:Panel>
ログイン.aspx.cs
protected void Page_Init(object sender, EventArgs e)
{
Response.RedirectLocation = Request.Url.ToString();
// bug#19156 Enter key should Login
LoginControl.Focus();
Page.Form.DefaultButton = ((Button)LoginControl.FindControl("LoginButton")).UniqueID;
}
protected void Page_Load(object sender, EventArgs e)
{
log.Debug("Loading login Page");
try
{
if (Request.QueryString["activity"] != null)
{
string activity = Request.QueryString["activity"].ToString();
switch (activity)
{
case "login":
if (Request.QueryString["Username"] != null)
un = Request.QueryString["Username"].ToString();
if (Request.QueryString["Password"] != null)
pw = Request.QueryString["Password"].ToString();
authenticate(null, null);
break;
}
}
}
catch (ExecutionEngineException ex)
{
}
if (Request.IsAuthenticated && !IsPostBack)
{
Response.Redirect("~/VPath/NotAuthorized.aspx");
}
else if (!IsPostBack)
{
HideTopMenu();
}
}