Può capitare di dover castomizzare un messaggio, generato da sharepoint, in seguito a un errore particolare.
Possiamo in poche righe di codice creare delle pagine castom in modo da mostrare a video solo i messaggi che noi vogliamo:
Creiamo una classe :
code:
class ExceptionHandler : IHttpModule
{
string _errPage = "/_layouts/DecatecCustomErrorPage.aspx";
public void Dispose()
{
}
public void Init(HttpApplication context)
{
context.Error += new EventHandler(context_Error);
}
void context_Error(object sender, EventArgs e)
{
Exception[] unhandledExceptions = HttpContext.Current.AllErrors;
foreach (Exception ex in unhandledExceptions)
{
//Castomizzo per catturare il survey
if (ex.Message.Equals("You are not allowed to respond again to this survey."))
{
_errPage = "/_layouts/DecatecCustomErrorPageSurvey.aspx?Error="+
ex.Message;
}
}
HttpContext.Current.Server.ClearError();
HttpContext.Current.Response.Clear();
HttpContext.Current.Server.Transfer(_errPage);
}
}
Nel codice uso il query string "Error" che poi uso per stampare nella pagina l'errore che mi arriva.
Dobbiamo poi caricare nel web.config i reguenti tag:
in <HttpModules> ....
<add name="Nome Classe" type="NameSpace.NomeClasse,NameSpace
, Version=1.0.0.0, Culture=neutral, PublicKeyToken=33b75c83e58b885b" />
Ora lavostra pagina castom è pronta a catturare gli errori.
Nessun commento:
Posta un commento