■ 이진 파일을 다운로드하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
using System.Web; using System.Web.UI; #region 이진 파일 다운로드하기 - DownloadBinaryFile(page, fullFileName, contentType, fileByteArray) /// <summary> /// 이진 파일 다운로드하기 /// </summary> /// <param name="page">페이지</param> /// <param name="fullFileName">완전한 파일 경로</param> /// <param name="contentType">내용 종류</param> /// <param name="fileByteArray">파일 바이트 배열</param> public void DownloadBinaryFile(Page page, string fullFileName, string contentType, byte[] fileByteArray) { HttpResponse httpResponse = page.Response; httpResponse.Clear(); httpResponse.ContentType = contentType; httpResponse.AddHeader("content-disposition", "attachment; filename=" + fullFileName); httpResponse.OutputStream.Write(fileByteArray, 0, fileByteArray.Length); httpResponse.End(); } #endregion #region 이진 파일 다운로드하기 - DownloadBinaryFile(page, fullFileName, fileByteArray) /// <summary> /// 이진 파일 다운로드하기 /// </summary> /// <param name="page">페이지</param> /// <param name="fullFileName">완전한 파일 경로</param> /// <param name="fileByteArray">파일 바이트 배열</param> public void DownloadBinaryFile(Page page, string fullFileName, byte[] fileByteArray) { DownloadBinaryFile(page, fullFileName, "application/unknown", fileByteArray); } #endregion |
■ 텍스트 파일을 다운로드하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
using System.Web; using System.Web.UI; #region 텍스트 파일 다운로드하기 - DownloadTextFile(page, charSet, contentType, fullPath, source) /// <summary> /// 텍스트 파일 다운로드하기 /// </summary> /// <param name="page">페이지</param> /// <param name="charSet">문자셋</param> /// <param name="contentType">내용 종류</param> /// <param name="fullPath">완전한 경로</param> /// <param name="source">소스 문자열</param> public void DownloadTextFile(Page page, string charSet, string contentType, string fullPath, string source) { HttpResponse httpResponse = page.Response; httpResponse.ClearContent(); httpResponse.ClearHeaders(); httpResponse.Buffer = true; httpResponse.Charset = charSet; httpResponse.AddHeader("content-disposition", "attachment;filename=" + fullPath); httpResponse.ContentType = contentType; httpResponse.Write(source); httpResponse.Flush(); httpResponse.End(); } #endregion #region 텍스트 파일 다운로드하기 - DownloadTextFile(page, fullPath, source) /// <summary> /// 텍스트 파일 다운로드하기 /// </summary> /// <param name="page">페이지</param> /// <param name="fullPath">완전한 경로</param> /// <param name="source">소스 문자열</param> public void DownloadTextFile(Page page, string fullPath, string source) { DownloadTextFile(page, "KS_C_5601-1987", "application/unknown", fullPath, source); } #endregion |
■ 페이지 제목을 설정하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
using System.Web; using System.Web.UI; #region 페이지 제목 설정하기 - SetPageTitle(page, title) /// <summary> /// 페이지 제목 설정하기 /// </summary> /// <param name="page">페이지</param> /// <param name="title">제목</param> public void SetPageTitle(Page page, string title) { WriteJavaScript(page, string.Format("parent.document.title = \'{0}\';", title)); // '자바 스크립트 쓰기' 참조 } #endregion |
■ 팝업을 표시하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
using System.Web.UI; #region 팝업하기 - Popup(page, url, title, width, height, left, top) /// <summary> /// 팝업하기 /// </summary> /// <param name="url">URL</param> /// <param name="title">제목</param> /// <param name="width">너비</param> /// <param name="height">높이</param> /// <param name="left">왼쪽 위치</param> /// <param name="top">위쪽 위치</param> /// <param name="page">페이지</param> public void Popup(Page page, string url, string title, int width, int height, int left, int top) { WriteJavaScript ( page, string.Format ( "window.open(\"{0}\", \"{1}\", \"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=yes,copyhistory=no,width={2},height={3},left={4},top={5}\")", url, title, width.ToString(), height.ToString(), left.ToString(), top.ToString() ) ); // '자바 스크립트 쓰기' 참조 } #endregion |
■ 자바 스크립트를 실행하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
using System.Web.UI; #region 자바 스크립트 실행하기 - ExecuteJavaScript(page, script) /// <summary> /// 자바 스크립트 실행하기 /// </summary> /// <param name="script">스크립트</param> /// <param name="page">페이지</param> public void ExecuteJavaScript(Page page, string script) { WriteJavaScript ( page, string.Format ( "function document.onreadystatechange() { if(document.readyState == \"complete\") { {0} }", script ) ); // '자바 스크립트 쓰기' 참조 } #endregion |
■ 오프너 부모를 다시 로드하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
#region 오프너 부모 다시 로드하기 - ReloadOpenerParent(page) /// <summary> /// 오프너 부모 다시 로드하기 /// </summary> /// <param name="page">페이지</param> public void ReloadOpenerParent(Page page) { WriteJavaScript ( page, "top.window.opener.location.href = top.window.opener.location.href;" ); // '자바 스크립트 쓰기' 참조 } #endregion |
■ 오프너를 다시 로드하는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System.Web.UI; #region 오프너 다시 로드하기 - ReloadOpener(page) /// <summary> /// 오프너 다시 로드하기 /// </summary> /// <param name="page">페이지</param> public void ReloadOpener(Page page) { WriteJavaScript(page, "window.opener.location.href = window.opener.location.href;"); // '자바 스크립트 쓰기' 참조 } #endregion |
■ 이전 페이지로 돌아가는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System.Web.UI; #region 이전 페이지로 돌아가기 - HistoryBack(page) /// <summary> /// 이전 페이지로 돌아가기 /// </summary> /// <param name="page">페이지</param> public void HistoryBack(Page page) { WriteJavaScript(page, "window.history.back();"); // '자바 스크립트 쓰기' 참조 } #endregion |
■ 프레임을 재지향하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
using System.Web.UI; #region 프레임 재지향하기 - RedirectFrame(page, frame, url) /// <summary> /// 프레임 재지향하기 /// </summary> /// <param name="page">페이지</param> /// <param name="frame">프레임</param> /// <param name="url">URL</param> public void RedirectFrame(Page page, string frame, string url) { WriteJavaScript(page, string.Format("{0}.location.href=\"{1}\";", frame, url)); // '자바 스크립트 쓰기' 참조 } #endregion |
■ 윈도우를 재지향하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
using System.Web.UI; #region 윈도우 재지향하기 - RedirectWindow(page, url) /// <summary> /// 윈도우 재지향하기 /// </summary> /// <param name="page">페이지</param> /// <param name="url">URL</param> public void RedirectWindow(Page page, string url) { WriteJavaScript(page, string.Format("window.location.href = \"{0}\";", url)); // '자바 스크립트 쓰기' 참조 } #endregion |
■ 부모 윈도우를 닫는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System.Web.UI; #region 부모 윈도우 닫기 - CloseParentWindow(page) /// <summary> /// 부모 윈도우 닫기 /// </summary> /// /// <param name="page">페이지</param> public void CloseParentWindow(Page page) { WriteJavaScript(page, "parent.window.close();"); // '자바 스크립트 쓰기' 참조 } #endregion |
■ 윈도우를 닫는 방법을 보여준다. ▶ 예제 코드 (C#)
|
#region 윈도우 닫기 - CloseWindow(page) /// <summary> /// 윈도우 닫기 /// </summary> /// <param name="page">페이지</param> public void CloseWindow(Page page) { WriteJavaScript(page, "window.close();"); // '자바 스크립트 쓰기' 참조 } #endregion |
■ 자바 스크립트를 쓰는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
using System.Web.UI; #region 자바 스크립트 쓰기 - WriteJavaScript(page, script) /// <summary> /// 자바 스크립트 쓰기 /// </summary> /// <param name="page">페이지</param> /// <param name="script">스크립트</param> public void WriteJavaScript(Page page, string script) { page.Response.Write(string.Format("<script language=\"javascript\">\n{0}\n</script>\n", script)); } #endregion |
■ 메시지를 표시하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
using System.Web.UI; #region 메시지 보여주기 - ShowMessage(page, message) /// <summary> /// 메시지 보여주기 /// </summary> /// <param name="page">페이지</param> /// <param name="message">메시지</param> public void ShowMessage(Page page, string message) { string script = string.Format ( "<script language=\"javascript\"> function document.onreadystatechange() { if(document.readyState == \"complete\") alert(\"{0}\"); </script>", message ); if(page.ClientScript.IsClientScriptBlockRegistered(page.GetType(), "ClientScript")) { page.ClientScript.RegisterClientScriptBlock(page.GetType(),"ClientScript", script); } } #endregion |
■ GlobalObject 클래스의 escape 메소드를 사용해 Escape 문자열을 구하는 방법을 보여준다. ▶ 예제 코드 (C#)
|
#region Escape 문자열 구하기 - Escape(source) /// <summary> /// Escape 문자열 구하기 /// </summary> /// <param name="source">소스 문자열</param> /// <returns>Escape 문자열</returns> public string Escape(string source) { return Microsoft.JScript.GlobalObject.escape(source); } #endregion |
■ GlobalObject 클래스의 unescape 메소드를 사용해 Unescape 문자열을 구하는 방법을 보여준다. ▶ 예제 코드 (C#)
|
#region Unescape 문자열 구하기 - Unescape(source) /// <summary> /// Unescape 문자열 구하기 /// </summary> /// <param name="source">소스 문자열</param> /// <returns>Unescape 문자열</returns> public string Unescape(string source) { return Microsoft.JScript.GlobalObject.unescape(source); } #endregion |
■ POST 데이터를 구하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
using System.IO; using System.Web; public string GetPOSTData() { string message = string.Empty; Stream stream = HttpContext.Current.Request.InputStream; byte[] byteArray = new byte[stream.Length]; stream.Read(byteArray, 0, byteArray.Length); message = System.Text.Encoding.UTF8.GetString(byteArray); return message; } |
■ HttpRequest 클래스를 사용해 쿠키를 읽는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
using System.Web; using System.Web.UI; #region 쿠키 읽기 - GetCookie(page, cookieName) /// <summary> /// 쿠키 읽기 /// </summary> /// <param name="page">Page 객체</param> /// <param name="cookieName">쿠키명</param> /// <returns>쿠키값</returns> public string GetCookie(Page page, string cookieName) { return page.Server.UrlDecode(HttpContext.Current.Request.Cookies[cookieName].Value); } #endregion |
■ HttpResponse 클래스를 사용해 쿠키를 저장하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
using System.Web; using System.Web.UI; #region 쿠키 쓰기 - WriteCookie(page, cookieName, cookieValue) /// <summary> /// 쿠키 쓰기 /// </summary> /// <param name="page">Page 객체</param> /// <param name="cookieName">쿠키명</param> /// <param name="cookieValue">쿠키값</param> public void WriteCookie(Page page, string cookieName, string cookieValue) { HttpContext.Current.Response.Cookies[cookieName].Value = page.Server.UrlEncode(cookieValue); } #endregion |
■ HttpUtility 클래스의 UrlEncode 정적 메소드를 사용해 URL을 인코딩하는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System.Web; string sourceQueryString = "menu_id=메뉴1&page=페이지1"; string targetQueryString = HttpUtility.UrlEncode(sourceQueryString, StringEncodingManager.EUCKR); |
■ Page 클래스에서 자바 스크립트를 쓰는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
using System.Web.UI; #region 자바 스크립트 쓰기 - WriteJavaScript(page, javaScript) /// <summary> /// 자바 스크립트 쓰기 /// </summary> /// <param name="page">Page 객체</param> /// <param name="javaScript">자바 스크립트</param> public void WriteJavaScript(Page page, string javaScript) { page.Response.Write("<script language=\"javascript\">\n"); page.Response.Write("{\n"); page.Response.Write(" if(document.readyState == \"complete\")\n"); page.Response.Write(" {\n"); page.Response.Write(" " + javaScript + "\n"); page.Response.Write(" }\n"); page.Response.Write("</script>\n"); } #endregion |
■ Page 클래스에서 메시지 박스를 표시하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
using System.Text; using System.Web.UI; #region 메시지 박스 보여주기 - ShowMessageBox(page, width, height, message, displayOnLoading) /// <summary> /// 메시지 박스 보여주기 /// </summary> /// <param name="page">Page 객체</param> /// <param name="width">너비</param> /// <param name="height">높이</param> /// <param name="message">메시지</param> /// <param name="displayOnLoading">로딩시 출력 여부</param> /// <remarks> /// displayOnLoading : true인 경우 페이지 로딩이 완료되기 전 메시지 박스가 출력된다. /// </remarks> public void ShowMessageBox(Page page, string width, string height, string message, bool displayOnLoading) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("<script language=\"javascript\">"); stringBuilder.AppendLine(" function document.onreadystatechange()"); stringBuilder.AppendLine(" {"); if(displayOnLoading) { stringBuilder.AppendLine(" alert(\"" + message + "\");"); } else { stringBuilder.AppendLine(" if(document.readyState == \"complete\")"); stringBuilder.AppendLine(" alert(\"" + message + "\");"); } stringBuilder.AppendLine(" }"); stringBuilder.AppendLine("</script>"); if(!page.IsClientScriptBlockRegistered("ClientScript")) { page.RegisterClientScriptBlock("ClientScript", stringBuilder.ToString()); } } #endregion |
■ Page 클래스에서 엑셀 파일을 다운로드하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
using System.Web.UI; #region 엑셀 파일 다운로드 하기 - DownloadEXCELFile(page, filePath, sourceData) /// <summary> /// 엑셀 파일 다운로드 하기 /// </summary> /// <param name="page">Page 객체</param> /// <param name="filePath">파일 경로</param> /// <param name="sourceData">소스 데이터</param> /// <remarks> /// sourceData : 행간 구분자 '\n', 열간 구분자 '\t' /// </remarks> public void DownloadEXCELFile(Page page, string filePath, string sourceData) { page.Response.ClearContent(); page.Response.ClearHeaders(); page.Response.Buffer = true; page.Response.Charset = "ks_c_5601-1987"; page.Response.AddHeader("content-disposition", "attachment;filename=" + filePath); page.Response.ContentType = "application/unknown" ; page.Response.Write(sourceData); page.Response.Flush(); page.Response.End(); } #endregion |