using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; /// <summary> /// Summary description for ResponseHelper /// </summary> 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); System.Web.UI.ScriptManager.RegisterStartupScript(page, typeof(Page), "Redirect", script, true); } } }
ที่นี้มาดูการเรียกใช้งานกันนะครับ ผมจะยกตัวอย่างการ Redirect ไปเปิดเอกสาร pdf นะครับ
วิธีการเรียกใช้่สามารถทำได้โดยเรียกใช้คำสั่ง Response.Redirect เหมือนเดิม แต่จะสังเกตว่าจะมี overload method ให้เราสามารถเรียกใช้งานได้ โดยจะมี parameter คือ
- URL - URL หรือ Path ที่ต้องการ Redirect
- Target - รูปแบบการ Redirect เช่น _blank , _self
- WindowFeatures - รูปแบบ Popup ที่ต้องการกำหนดเอง เช่น width , height , top , scrollbar
protected void btnHelp_Click(object sender, EventArgs e)
{
Response.Redirect("Help.pdf", "_blank",
"menubar=0,scrollbars=1,width=780,height=900,top=10");
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น