The Dark Side of .NET Programming

Il blog di Michele Aponte
posts - 212, comments - 145, trackbacks - 16

Sostituire i controlli standard di Asp.Net

Anche questa è una funzionalità interessante di asp.net… E’ possibile da web.config andare a chiedere ad asp.net di utilizzare un nostro controllo custom anzichè un controllo standard di asp.net:

<pages controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID">
  <tagMapping>
    <add tagType="System.Web.UI.WebControls.Button" 
         mappedTagType="MyControls.MyButton" />
  </tagMapping>
</pages>

Che sostituirà tutti i button di asp.net con il button personalizzato. Implementare un proprio button è un’operazione abbastanza semplice, basta creare un progetto CustomControl, nel mio caso MyControls ed estendere il controllo a cui vogliamo aggiungere qualche funzionalità. Supponiamo ad esempio di voler fare in modo che quando passiamo con il mouse sul pulsante il suo testo diventi ‘cliccami’:

   1:  using System.Web.UI.WebControls;
   2:   
   3:  namespace MyControls
   4:  {
   5:      public class MyButton : Button
   6:      {
   7:          public MyButton()
   8:          {
   9:              this.Attributes.Add("onmouseover", "this.value='cliccami'");
  10:          }
  11:      }
  12:  }

Il risultato sarà ovviamente:

image image

Il tutto senza aver minimamente  toccato la pagina:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="WebApplication5.WebForm2" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:button text="text" runat="server" />    
    </div>
    </form>
</body>
</html>

Su internet trovate un po’ di applicazioni interessanti come ad esempio sostituire le textbox con delle vostre textbox in cui lo sfondo diventa colorato al focus, dando all’utente un feedback sul dove sta scrivendo.

-- Michele

Print | posted on mercoledì 21 luglio 2010 02:28 |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET