Navigatie

Contact

Send mail to the author(s) E-mail

View Richard Soeteman's profile on LinkedIn

RSS 2.0 | Atom 1.0 | CDF

Archief

Categorieën

Blogroll

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Sign In

Zoeken

# Saturday, 11 March 2006
Saturday, 11 March 2006 07:45:41 (GMT Standard Time, UTC+00:00) ( )

This Blog is not active anymore, further posts will be available on my company website. Read new posts here

ASP.NET 2.0 biedt de mogelijkheid een defaultbutton in te stellen op het formulier. Hier maakt het niet uit of dit een submit, link of Image button is. Standaard biedt ASP.NET 1.1 geen ondersteuning voor een default link, of image button.  Dit houdt in dat elke keer dat een formulier verstuurd moet worden, de gebruiker dit moet doen door op de betreffende button te klikken.  Middels het gebruik van Javascript is dit echter wel te realiseren.

Onderstaand Javascript (alleen getest in Internet Explorer) vangt het Keypress event op pagina niveau  af, controleert of  de enter toets is gebruikt en wanneer het hidden veld __EVENTTARGET gevuld is wordt een postback gedaan.

document.attachEvent("onkeypress",checkkey);

            function GetValue(Field) {
                if (null == Field) {
                    return "";
                }
                
                if ("undefined" == typeof(Field) ) {
                    return "";
                }
                return Field.value;
            }
    
            function checkkey(e)
            {
                if(e.keyCode==13){
                    e.returnValue=false;
                    e.cancel = true;
                    var theform = document.forms[0];
                    var __EVENTTARGET = GetValue(theform.__EVENTTARGET);
                    var __EVENTARGUMENT = GetValue(theform.__EVENTARGUMENT);
                    
                    if (__EVENTTARGET.length > 0){
                        __doPostBack(__EVENTTARGET,__EVENTARGUMENT);
                    }
                }
            }

Het Page_Load event  zorgt ervoor dat het hidden veld “__EVENTTARGET” gevuld wordt met het ClientId van button lnkBVerstuur.

private void Page_Load(object sender, System.EventArgs e){
            Page.RegisterHiddenField("__EVENTTARGET", lnkBVerstuur.ClientID); 
}

Het Click event van lnkBVerstuur wordt gebruikt om te controleren of de gebruiker daadwerkelijk op linkbutton verstuur heeft gedrukt.

private void lnkBVerstuur_Click(object sender, System.EventArgs e){
            lblOut.Text = "Op de verstuur link button geklikt";
}

Onderstaande afbeelding toont het resultaat wanneer we de applicatie starten en in het formulier op enter drukken.


 


Download hier de source code.

Comments [0] | | #