Setting ImageButton as DefaultButton ASP.NET 2.0

Hello.  I hope there is a more definitive answer than what I've been reading.  I have an imagebutton on an ASP.NET form that I want to set as the default button (when the user presses ENTER).  Does anybody have a solution for this?
adwooley2Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

adwooley2Author Commented:
That didn't work for me.  What I did was I added Implements iButtonControl on the image button and voila!
Thanks anyway.
0
Edwin_CCommented:
<form id="form1" runat="server" defaultbutton="ImageButton1">

Can this work for you?
0
Exploring ASP.NET Core: Fundamentals

Learn to build web apps and services, IoT apps, and mobile backends by covering the fundamentals of ASP.NET Core and  exploring the core foundations for app libraries.

adwooley2Author Commented:
No, can't use that, since I am using a master page in my environment.  Thanks anyway.
0
Edwin_CCommented:
In that case, you can do that in code behind

this.Form.DefaultButton = "ImageButton1";
0
adwooley2Author Commented:
Have you ever tested that? Image buttons cannot be set as the default button alone.  They don't support IButtonControl.  That is why I  added Implements iButtonControl on the image button and then set it as the DefaultButton.  In other words, I've already solved this issue.
0
Edwin_CCommented:
Glad to know you have solve the problem!
Does DefaultButton need to be iButtonControl?  It worked for me!

    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /><asp:ImageButton ID="ImageButton1"
            runat="server" ImageUrl="~/button-next.gif" OnClick="ImageButton1_Click" />
    </div>
    </form>

Code behind:
    protected void Page_Load(object sender, EventArgs e)
    {
        Page.Form.DefaultButton = "ImageButton1";
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("Button clicked");
    }
    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("ImageButton clicked");
    }

When I pressed ENTER, ImageButton1 was clicked.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
adwooley2Author Commented:
Really!?  It didn't work for me, and from everything that I was reading on the web, you're not supposed to be able to do what you did.  What version of Visual Studio are you using?
0
Edwin_CCommented:
I am using VS2005 and ASP.NET 2.0.

After consulting the reference material, you are correct in the way that DefaultButton must implement IButtonControl but ImageButton does implement IButtonControl.

0
gmainCommented:
To further clarify things, as of ASP.NET 2.0 you can set the DefaultButton property on the form object or on a panel object.  So, for the example given in this thread, if you are in a masterpage/child page situation with the form being on the masterpage, you could create a panel object on your child page and set the default button on that panel.  That way you do not need to modify the masterpage's form object in any way.
If you have multiple default buttons set (due to multiple panels), when the page postback is processed, the default will be determined by the context of the currently selected control.
for further details see:  http://weblogs.asp.net/scottgu/archive/2005/08/04/421647.aspx
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
ASP.NET

From novice to tech pro — start learning today.