在我的网络应用程序中,我有一个母版页,我想在用户按下回车键时为登录页面实现默认按钮(我的应用程序有母版页面)如何放置默认按钮。
答案 0 :(得分:17)
Page.Form.DefaultButton = crtlLoginUserLogin.FindControl("LoginButton").UniqueID
或只是
Page.Form.DefaultButton = LoginButton.UniqueID
这样可行。
答案 1 :(得分:3)
如果要在母版页中设置默认按钮,并且该按钮位于内容页面或用户控件中,则无法直接在母版页标记中设置该按钮。
<form id="form1" runat="server" defaultbutton="MyButton" >
将生成以下错误:
'form1'的DefaultButton必须是IButtonControl类型的控件的ID。
解决方法是在内容/用户控件的Page_Load期间设置默认按钮:
protected void Page_Load(object sender, EventArgs e)
{
Button myButton = (Button)FindControl("MyButton");
Page.Form.DefaultButton = myButton.UniqueID;
}
答案 2 :(得分:1)
与母版页无关 - 请查看Web浏览器如何解释表格。
http://geekswithblogs.net/ranganh/archive/2006/04/12/74951.aspx
我个人将表单放在自己的Panel控件中,并将defaultbutton属性设置为提交按钮的属性。
注意:这仅适用于ASP.NET 2.0及更高版本。
答案 3 :(得分:1)
恕我直言,有一个专为登录设计的BuiltIn Control,名为LoginView。 它集成到您的主页面或任何其他页面,并可以充分利用身份验证系统。这是它的代码
<asp:LoginView ID="LoginView1" runat="server">
</asp:LoginView>
Asp.Net为应用程序的身份验证和授权提供了完整的框架。我建议看一下你是否准备为你的应用程序实现一个,你还没有将它作为选项进行审查。
编辑:如果您希望将按钮放在母版页上,请按照我们针对普通网页的方式拖放按钮并实施以下事件:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("MyApplication/SomePage.aspx");
}
希望它有助于
答案 4 :(得分:1)
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
答案 5 :(得分: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/