在我的网页应用程序中,我有一个主页面,并且我想在登录页面上实现默认按钮,当用户按下回车键时(我的应用程序有主页面),我该如何放置默认按钮。
在我的网页应用程序中,我有一个主页面,并且我想在登录页面上实现默认按钮,当用户按下回车键时(我的应用程序有主页面),我该如何放置默认按钮。
Page.Form.DefaultButton = crtlLoginUserLogin.FindControl("LoginButton").UniqueID
或者只是Page.Form.DefaultButton = LoginButton.UniqueID
这会起作用。如果您想在母版页中设置默认按钮,并且该按钮位于内容页或用户控件中,则无法直接在母版页标记中进行设置。
<form id="form1" runat="server" defaultbutton="MyButton" >
将会产生以下错误:
'form1'的默认按钮必须是类型为IButtonControl的控件的ID。
解决方法是在您的内容/用户控件的Page_Load期间设置默认按钮:
protected void Page_Load(object sender, EventArgs e)
{
Button myButton = (Button)FindControl("MyButton");
Page.Form.DefaultButton = myButton.UniqueID;
}
The VB版本如下:
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
'cast the master page form to set the default values for the Default button and Default focus'
Dim myForm As HtmlForm = TryCast(Me.Master.FindControl("myMasterForm"), HtmlForm)
myForm.DefaultButton = Me.btnAdd.UniqueID
myForm.DefaultFocus = Me.txtMyTextbox.UniqueID
End Sub
在我看来,有一个用于登录设计的内置控件称为LoginView。它可以集成到您的主页面或任何其他页面,并能够充分利用身份验证系统。以下是其代码:
<asp:LoginView ID="LoginView1" runat="server">
</asp:LoginView>
Asp.Net提供了一个完整的应用程序身份验证和授权框架。如果您要为应用程序实现身份验证和授权,并且尚未考虑过此选项,我建议您先看一下。
编辑:如果您想在主页面上放置一个按钮,请像在普通Web表单中一样拖放按钮并实现以下事件:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("MyApplication/SomePage.aspx");
}
希望能有所帮助
与主页面无关 - 在此处查看Web浏览器如何解释表单。
个人建议将表单放在自己的Panel控件中,并将defaultbutton属性设置为提交按钮的属性。
注意:这仅适用于ASP.NET 2.0及以上版本。
(Page.Master.FindControl("Form1") as HtmlForm).DefaultButton = this.cmdSubmit.UniqueID;
来自http://www.dotnetthoughts.net/2010/06/21/asp-net-default-button-and-master-pages/