在asp.net中的默认按钮(母版页)是什么?

6

在我的网页应用程序中,我有一个主页面,并且我想在登录页面上实现默认按钮,当用户按下回车键时(我的应用程序有主页面),我该如何放置默认按钮。

6个回答

17
Page.Form.DefaultButton = crtlLoginUserLogin.FindControl("LoginButton").UniqueID
或者只是
Page.Form.DefaultButton = LoginButton.UniqueID
这会起作用。

我正在使用主页面Mr. Five Tools,如何实现呢? - Surya sasidhar
2
您可以在登录页面的页面加载事件中使用上述代码,而不管与其相关的主页面是什么。我上面提到的ctrlLoginUserLogin是我在一个应用程序中的某个页面上拥有的asp:login。它运行良好。 - FiveTools

3

如果您想在母版页中设置默认按钮,并且该按钮位于内容页或用户控件中,则无法直接在母版页标记中进行设置。

<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;
        }

2
以下是VB版本:

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

1

在我看来,有一个用于登录设计的内置控件称为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表单一样拖放按钮控件!然后实现它的Click事件。请检查编辑。 - Asad

1

与主页面无关 - 在此处查看Web浏览器如何解释表单。

链接

个人建议将表单放在自己的Panel控件中,并将defaultbutton属性设置为提交按钮的属性。

注意:这仅适用于ASP.NET 2.0及以上版本。


实际上,在您发布的链接中,有几个人评论了主页面和默认按钮的问题。 - Brian Vander Plaats

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接