Hej! För att få fokus till det du vill så borde du kunna använda javascript. Du kan börja med att lägga till ett javascript: <b>En annan variant är att byta asp.net kontrollerna till html-kontroller och därefter på varje använda onBlur eller liknande för att peka fokus på nästa kontroll.</b>tabindex i webform
Jag måste fixa tabordningen på ett webformulär som är gjort med asp.net. Problemet är att siten är byggd med ett frameset, och det kan jag inte göra något åt. Saken är den att jag inte lyckas få till tabordningen som jag vill ha den, inloggningsrutorna för namn och lösenord, sedan knappen för inloggning, i den ordningen vill jag ha tabindex. Men det händer inte ett smack för att jag sätter tab index på de tre objekten till 0, 1, 2. Fokus hamnar rentav i den andra framen när jag tabbar från rutan med användanamnet. Vad göra?
Mvh
HubbeSv: tabindex i webform
Finns säkert något annat som löser det men ett sätt är med javascript som du antingen skriver ut från code-behind eller har på sidan direkt.
/mSv: tabindex i webform
<SCRIPT languange='javascript'>
<!--
function SetFocus(c) {
document.getElementById(c).focus();
return true;
}
//-->
</SCRIPT>
Därefter kan du sätta fokus på din textbox som du har index 100 på, sen sätter du 101 och 102 - då kommer du att i alla fall få till det första gången. Sen efter knappen kommer den hoppa fel igen - men då har du i alla fall lite rätt.
En annan variant är att byta asp.net kontrollerna till html-kontroller och därefter på varje använda onBlur eller liknande för att peka fokus på nästa kontroll.
Sv: tabindex i webform
Det behöver du inte? ASP.NET kontrollerna renderas som vanliga HTML element? Du kan t.ex lägga på javascript för <b>onblur</b> genom att lyssna på kontrollens <b>PreRender</b> händelse och sedan lägga till javascript med liknande kod i händelsehanteraren.
[C#]
Control ctrl = (Control)sender;
ctrl.Attributes.Add("onblur", "javascript: alert('onblur')");
[VB.NET]
Dim ctrl As Control = DirectCast(sender, Control)
ctrl.Attributes.Add("onblur", "javascript: alert('onblur')")