2010-02-06 78 views

回答

1

與母版頁無關 - 在這裏查看Web瀏覽器如何解釋表單。

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

個人而言,我會附上在自己的控制面板的形式,並設置defaultButton屬性到提交按鈕的。

注意:這隻適用於ASP.NET 2.0及以上版本。

+0

其實在你發佈的鏈接,有幾個人評論問題與母版頁和默認按鈕 – 2010-08-27 20:59:12

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

希望它有助於

+0

沒有想到這一點;好的建議。 – 2010-02-06 11:42:35

+0

不僅登錄頁面還有其他一些頁面 – 2010-02-06 11:56:57

+0

只需拖放一個按鈕控件就像我們爲Web-Forms做的那樣!並暗示事件Click for it。檢查編輯 – 2010-02-06 12:04:58

17
Page.Form.DefaultButton = crtlLoginUserLogin.FindControl("LoginButton").UniqueID 

或只是

Page.Form.DefaultButton = LoginButton.UniqueID 

這將行得通。

+0

我正在使用母版頁先生五工具怎麼可能 – 2010-02-08 04:23:57

+2

您可以在登錄頁面的頁面加載事件中使用上述代碼 - 無論與其相關的母版頁如何。我在上面提到的ctrlLoginUserLogin是一個asp:login,在我的應用程序中有一個頁面。工作正常。 – FiveTools 2010-02-08 15:05:42

+0

你救了我:) +1 – 2013-09-19 16:32:21

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