在ASP.NET中切换母版页按钮默认按钮属性

在ASP.NET中切换母版页按钮默认按钮属性,asp.net,defaultbutton,Asp.net,Defaultbutton,我正在开发一个ASP.NET web应用程序(C#,VS2010),我有一个母版页,它有一个按钮(搜索按钮)和一个文本框,当我按enter键时,这个搜索按钮就会执行,但我不希望这个母版页搜索按钮在我登录页面时工作。在我的登录页面中,我有两个文本框和另一个按钮(登录按钮),当我在登录页面中时,我希望这个登录按钮作为默认按钮(使用enter键执行)。当然,我根本没有使用任何javascript或DefaultButton属性 如何在登录页面中禁用母版页按钮enter键?在登录页面中,获取母版页按钮控

我正在开发一个ASP.NET web应用程序(C#,VS2010),我有一个母版页,它有一个按钮(搜索按钮)和一个文本框,当我按enter键时,这个搜索按钮就会执行,但我不希望这个母版页搜索按钮在我登录页面时工作。在我的登录页面中,我有两个文本框和另一个按钮(登录按钮),当我在登录页面中时,我希望这个登录按钮作为默认按钮(使用enter键执行)。当然,我根本没有使用任何javascript或DefaultButton属性


如何在登录页面中禁用母版页按钮enter键?

在登录页面中,获取母版页按钮控件的引用,然后禁用它

 Button b = Master.FindControl("ButtonID");
 b.Enable= false;
要更改母版页的默认按钮,请在母版页代码隐藏中更改其默认按钮

form1.DefaultButton = "New button ID";

oR  from login page codebehind

Form.DefaultButton = "New button ID";

在登录页面中,获取对母版页按钮控件的引用,然后禁用它

 Button b = Master.FindControl("ButtonID");
 b.Enable= false;
要更改母版页的默认按钮,请在母版页代码隐藏中更改其默认按钮

form1.DefaultButton = "New button ID";

oR  from login page codebehind

Form.DefaultButton = "New button ID";
您需要在每个区域周围定义一个默认按钮,然后它将使用窗体中具有焦点的部分:

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

您需要在每个需要默认按钮的区域周围定义一个默认按钮,然后它将使用表单中具有焦点的部分:

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


谢谢,但是我可以用“厚”技巧禁用我的母版页按钮吗?当然可以……,只是让您知道ASP.NET通常通过DefultButton处理它。我将我的搜索按钮(在母版页中)放在一个面板中,该面板的DefaultButton属性为不可见按钮,但它仍在执行其行为,但是我可以用“厚”技巧禁用母版页按钮吗?当然可以,只是让您知道ASP.NET通过DefultButton正常处理它。我将我的搜索按钮(在母版页中)放在一个面板中,该面板的DefaultButton属性为不可见按钮,但它仍在执行其行为,但我不想禁用我的母版页按钮,这是我想要的:当我的用户在登录页时,我想按ENTER键来按登录按钮而不是母版页按钮,但我不想禁用母版页按钮,这是我想要的:当我的用户在登录页时,我想按ENTER键来按登录按钮而不是母版页按钮