di: Sosan Abou Assalè 18 Aprile 2007
Se si fa utilizzo del meccanismo di postback nell' applicazione allora bisognerà tener presente che con il postback si verifica un problema, l'URL sottostante verrà visualizzato vanificando il lavoro dell'URL rewriting.
Il problema è che il rendering del tag <form> imposta l'attributo action con l'URL memorizzato nell'oggetto Request, l'utente dopo il postback vedrà, quindi un URL di questo tipo:
URLRewriting_Module/default.aspx?tab=1
Per risolvere il problema possiamo fare in modo che non venga eseguito il rendering dell'attributo action. Una strada è quella di estendere la classe System.Web.HtmlControls.HtmlForm, eseguendo l'override del metodo RenderAttribute() e modificare la linea di codice relativa al rendering dell'attributo azione.
Listato 11. Estendere HtmlForm e rimuovere l'attributo action
public class Form : System.Web.UI.HtmlControls.HtmlForm
{
protected override void RenderAttributes(HtmlTextWriter writer)
{
writer.WriteAttribute("name", this.Name);
base.Attributes.Remove("name");
writer.WriteAttribute("method", this.Method);
base.Attributes.Remove("method");
this.Attributes.Render(writer);
base.Attributes.Remove("action");
if (base.ID != null)
writer.WriteAttribute("id", base.ClientID);
}
}
In questo modo riusciamo ad evitare spiacevoli sorprese all'utente che potrebbe vedere cambiare l'URL improvvisamente.
In questo articolo abbiamo introdotto la tecnica dell' URL Rewriting presentando due esempi pratici che mostrano l'utilizzo dei moduli http e degli Handler http con ASP.NET.
La tecnica dell'URL Rewriting è molto utile, perchè rende la vita più facile sia all'utente che non deve ricordarsi URL complessi sia ai motori di ricerca che riescono ad indicizzare al meglio le pagine dinamiche che presentano parametri nella querystring.
Fino a poco tempo fa Google stesso invitava i webmaster a non utilizzare i parametri in querystring poiché non sarebbero state indicizzate correttamente le pagine. Ultimamente l'algoritmo Googlebot è stato modificato in modo tale da riuscire ad indicizzare anche questo tipo di pagine.
Però, a parte questo, mi sento di consigliare ancora la tecnica dell'URL rewriting, perché la maggior parte degli spider ancora soffre di questo problema e, poi, perché la presenza di keyword rilevanti all'interno dell'URL porta sempre vantaggi per il posizionamento.
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Corso Progettazione database11 Maggio 2012 a Milano |
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |