I have a master page with a form element and the defaultbutton attribute set to a server-side ImageButton. On one of my pages I want to "override" the masterpage defaultbutton attribute by setting the Forms DefaultButton in the Page_Load event.
i.e On mater page:
<form id="form1" runat="server" defaultbutton="btnSearch">....</from>
On the page Page_Load event that "override" the master page attribute:
this.Form.DefaultButton = this.ibRecalc.ID;
It errors with :
The DefaultButton of 'form1' must be the ID of a control of type IButtonControl
I am using image buttons which implements IButtonControl
Any ideas of what I might be doing wrong or a different way to approach the problem?
Thanks
Use UniqueId. Since you can have multiple server controls with the same server id, ie, in a GridView, the framework needs to the unique id to match up to.
this.Form.DefaultButton = this.ibRecalc.UniqueID;
You could try using the "DefaultButton" property of a Panel...
Place your button or whole page or div in asp:Panel
// start panel
asp:Panel ID="pnlOpsCallSummay" runat="server" DefaultButton="btnSearch"
............
//Controls of your requirement
..........
asp:Button ID="btnSearch" runat="server" Text="Search"
close the pannel
No need of Overriding the master page button
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With