Per ottenere la funzionalià ricercata, si possono seguire due strade:
- la prima prevede la configurazione della proprietà onclientclick del pulsante con lo script “aspnetForm.target =’_blank’;”, ottenendo così onclientclick=”aspnetForm.target =’_blank’;”
- la seconda permette di utilizzare una classe ad-hoc per effetuare il redirect tramite un metodo dedicato, di cui si riporta il codice
public static class ClassMyResponseRedirect { static ClassMyResponseRedirect() { // // TODO: Add constructor logic here // } public static void Redirect(string url, string target, string windowFeatures) { HttpContext context = HttpContext.Current; if ((String.IsNullOrEmpty(target) || target.Equals("_self", StringComparison.OrdinalIgnoreCase)) && String.IsNullOrEmpty(windowFeatures)) { context.Response.Redirect(url); } else { Page page = (Page)context.Handler; if (page == null) { throw new InvalidOperationException( "La pagina scelta non è raggiungibile."); } url = page.ResolveClientUrl(url); string script; if (!String.IsNullOrEmpty(windowFeatures)) { script = @"window.open(""{0}"", ""{1}"", ""{2}"");"; } else { script = @"window.open(""{0}"", ""{1}"");"; } script = String.Format(script, url, target, windowFeatures); ScriptManager.RegisterStartupScript(page, typeof(Page), "Redirect", script, true); } } //(estrapolato da http://www.codeproject.com)
}