Impostare il focus su un control con ASP.NET

di Daniele Bochicchio, in ASP.NET, C#,

Lo script di oggi è una semplice combinazione di Javascript e ASP.NET e tramite il primo dei due passa il focus, non appena la pagina viene caricata, al control specificato.

<SCRIPT RUNAT="SERVER" LANGUAGE="C#">

void Page_Load()
{
  // focus su calendario
  SetFocus(text2);
}

public void SetFocus(Control focusControl)
{
  // inizio codice javascript
  StringBuilder js = new StringBuilder();
  js.Append("<s" + "cript type='text/javascript'><!--\r\n");
  js.Append("function focusControl(controlID) {\r\n");
  js.Append("  var ctrl = document.getElementById(controlID);\r\n");
  js.Append("  if (ctrl)\r\n");
  js.Append("  {ctrl.focus();}\r\n");
  js.Append("}\r\n");
  js.Append("focusControl('");
  js.Append(focusControl.ClientID);
  js.Append("');\r\n");
  js.Append("//--></s" + "cript>");
  // fine javascript

  // registrazione script nella pagina -- in fondo al form
  Page.RegisterStartupScript("focusControl", js.ToString());
}

</SCRIPT>
<form runat="server">
Testo1:
<asp:textbox id="text1" runat="server" /><br />
Testo2:
<asp:textbox id="text2" runat="server" /><br>
</form>

Un'implementazione migliore potrebbe inglobare questa funzionalità all'interno di una classe che derivi dalla classe Page e consenta di richiamare questo metodo in maniera centralizzata per tutte le pagine della nostra applicazione.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi