We all know that we can use JavaScript's window.open method to open a new window. I was curious if there is to achieve this from the code behind. The answer is you can and there are various ways you can use depending on the requirement.
I did it by using writing an extension method to Reponse.Redirect as shown below.
usage
http://stackoverflow.com/questions/104601/response-redirect-to-new-window
Cheers
Samitha
I did it by using writing an extension method to Reponse.Redirect as shown below.
public static class ResponseHelper { public static void Redirect(this HttpResponse response, string url, string target, string windowFeatures) { if ((String.IsNullOrEmpty(target) || target.Equals("_self", StringComparison.OrdinalIgnoreCase)) && String.IsNullOrEmpty(windowFeatures)) { response.Redirect(url); } else { Page page = (Page)HttpContext.Current.Handler; if (page == null) { throw new InvalidOperationException("Cannot redirect to new window outside Page context."); } 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); } } }
usage
Response.Redirect(redirectURL, "_blank", "menubar=0,scrollbars=1,width=780,height=900,top=10");This has been originally suggested in the following post. The post dscusses various ways you can achieve the same functionality.
http://stackoverflow.com/questions/104601/response-redirect-to-new-window
Cheers
Samitha