【问题标题】:Default button in asp.net (Master Page)?asp.net(母版页)中的默认按钮?
【发布时间】:2015-08-18 23:00:17
【问题描述】:

在我的 Web 应用程序中,我有一个母版页,我想在用户按 Enter 时为登录页实现默认按钮(我的应用程序有母版页)我如何放置默认按钮。

【问题讨论】:

    标签: asp.net


    【解决方案1】:
    Page.Form.DefaultButton = crtlLoginUserLogin.FindControl("LoginButton").UniqueID
    

    或者只是

    Page.Form.DefaultButton = LoginButton.UniqueID
    

    这会起作用。

    【讨论】:

    • 我用母版页五工具先生怎么可能
    • 您可以在登录页面的页面加载事件中使用上面的代码——不管与它相关的母版页。我上面提到的 ctrlLoginUserLogin 是一个 asp:login 我在我的一个应用程序的一个页面上。工作正常。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      这个的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
      

      【讨论】:

        【解决方案4】:

        与母版页无关 - 在这里查看 Web 浏览器如何解释表单。

        http://geekswithblogs.net/ranganh/archive/2006/04/12/74951.aspx

        我个人会将表单包含在它自己的面板控件中,并将默认按钮属性设置为提交按钮的属性。

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

        【讨论】:

        • 实际上在您发布的链接中,有几个人评论了母版页和默认按钮的问题
        【解决方案5】:

        恕我直言,有一个为登录而设计的内置控件,称为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-Forms 所做的那样!并实现事件 Click for it。检查编辑
        【解决方案6】:
        (Page.Master.FindControl("Form1") as HtmlForm).DefaultButton = this.cmdSubmit.UniqueID;
        

        来自http://www.dotnetthoughts.net/2010/06/21/asp-net-default-button-and-master-pages/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-10-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-25
          • 1970-01-01
          相关资源
          最近更新 更多