ViewState 웹 페이지의 소스(히든필드)에 임시 보관 - 해당 페이지를 벗어나면 소멸
웹 브라우저에 임시 보관 또는 텍스트파일형태로 영구본관 한 페이지에 Cookies 생성해 두고 다른 페이지에서도 사용 가능 웹 브라우저의 메모리 공간에 저장
웹 브라우저의 URL에 임시로 데이터 실어서 다른페이지 이동 FrmViewState.aspx <!-- 로딩시간 저장해 두었다가 버튼 클릭하면 출력 --> <asp:Button ID="btnClick" runat="server" Text="처음 로딩 시간" onclick="btnClick_Click" /> <asp:Label ID="lblDisplay" runat="server" Text=""></asp:Label> FrmViewState.aspx.cs protected void Page_Load(object sender, EventArgs e) { // 처음 로드시 if (!Page.IsPostBack) { // 뷰 상태 개체에 데이터를 보관 // odject 형식으로 값 받음 ViewState["LOAD_TIME"] = DateTime.Now; } } { // 다른 메서드에서도 사용 가능 // ViewState에 저장된 값 출력 if (ViewState["LOAD_TIME"] != null) { this.lblDisplay.Text = "로드시간 : " + Convert.ToDateTime(ViewState ["LOAD_TIME"]).ToShortTimeString(); } } |
저장버튼 눌러 쿠키저장 |
FrmCookies.aspx <!-- 쿠키 저장 버튼 --> <asp:Button ID="btnAddCookies" runat="server" Text="쿠키에 현재시간 저장" onclick="btnAddCookies_Click" /> FrmCookies.aspx.cs protected void btnAddCookies_Click { // 쿠키 저장 Response.Cookies["NOW"].Value = Response.Cookies["NOW"].Expires = // Expires : 쿠기의 만료 날짜 및 시간을 가져오거나 설정 // 쿠키 읽어오기 if (Request.Cookies["NOW"] != null) { string now = Request.Cookies["NOW"].Value; Response.Write("방금 구운 쿠키 값 : " + now); } } |
쿠키에 현재 시간 저장하기 |
FrmCookiesShow.aspx.cs using System; public partial class FrmCookiesShow : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // FrmCookies.aspx.cs에서 만든 정보를 다른 페이지에서도 사용 가능 // ViewState는 해당 페이지에서만 가능 // 쿠키 읽어오기 if (Request.Cookies["NOW"] != null) { string now = Request.Cookies["NOW"].Value; Response.Write("FrmCookies 페이지에서 구운 쿠키 값 : " + now); } // 코드레벨에서 HttpCookie 클래스 사용해서 쿠키 생성 HttpCookie myName = new HttpCookie("MyName"); myName.Values.Add("Name", "용원"); myName.Values.Add("Nick", "Agent"); Response.Cookies.Add(myName); // Name과 Nick을 따로 출력 HttpCookie saved = Request.Cookies["MyName"]; Response.Write(myName.Values["Name"] + "<br />"); Response.Write(myName.Values["Nick"] + "<br />"); } } |
FrmQueryString.aspx FrmQueryString.aspx.cs public partial class FrmQueryStringTest : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // 앞 페이지에서 넘겨온 쿼리스트링 출력 // 간단한 값 다른 페이지로 넘겨줄 때 가장 효율적 if (!String.IsNullOrEmpty(Request.QueryString["Num"])) { Response.Write(Request.QueryString["Num"] + "<br />"); // 5 Response.Write(Request["Name"]); // Min } } } |
'.Net Project > ASP.NET 3.5 Sp1' 카테고리의 다른 글
54장 Remote Debugging (0) | 2009.10.27 |
---|---|
53장 Output Cache (0) | 2009.10.27 |
51장 상태관리 서버측_(Application, Session, Cache) (0) | 2009.10.27 |
50장 상태관리(httpContext) (0) | 2009.10.27 |
49장 추적(Trace) (0) | 2009.10.27 |