2012-07-24 109 views
2

我正在開發一個ASP.NET Web應用程序(C#,VS2010),我有一個有一個按鈕(搜索按鈕)和一個文本框的母版頁,當我按下輸入,這個搜索按鈕會執行,但我不希望這個母版頁搜索按鈕在我登錄頁面時工作。在我的登錄頁面中,我有兩個文本框和另一個按鈕(登錄按鈕),當我登錄頁面時,我希望此登錄按鈕作爲默認按鈕(使用Enter鍵執行)。當然,我還沒有使用任何JavaScript或DefaultButton屬性開關主頁按鈕默認按鈕屬性在ASP.NET

如何禁用masterpage按鈕輸入密鑰在我的登錄頁面?

回答

3

您需要定義圍繞要默認按鈕,每個按鈕區域DefaultButton,它將使用的部分有一個形式爲重點:

<asp:Panel id="SearchPanel" runat="server" DefaultButton="Search" > 
     <asp:Button id="Search" runat="server" Text="Search" /> 
<asp:Panel> 
<asp:Panel id="LoginPanel" runat="server" DefaultButton="Login" > 
     <asp:Button id="Login" runat="server" Text="Login" /> 
<asp:Panel> 
+0

謝謝,但我可以禁用我的母版按鈕與厚伎倆? – 2012-07-24 14:57:52

+0

當然,你可以......,讓你知道ASP.NET通常通過DefultButton處理它。 – 2012-07-24 14:58:54

+0

我把我的搜索按鈕(在masterpage中)在一個面板中,它的DefaultButton屬性是一個不可見的按鈕,但它仍然在執行它的行爲 – 2012-07-24 15:30:19

1

在您的登錄頁面中,獲取對主頁面按鈕控件的引用,然後將其禁用。

Button b = Master.FindControl("ButtonID"); 
b.Enable= false; 

要更改母版頁變化默認布頓它在母版頁的代碼隱藏的默認按鈕

form1.DefaultButton = "New button ID"; 

oR from login page codebehind 

Form.DefaultButton = "New button ID"; 
+0

感謝,但我不希望禁用我的主頁按鈕,這就是我想要的:當我的用戶在登錄頁面,我想ENTER鍵按下登錄按鈕不該masterpage按鈕 – 2012-07-24 14:59:01

+1

@Ali_dotNet看到更新的答案 – 2012-07-24 15:01:37