[C#,ASP.NET강좌]ASP.NET(다른페이지로 포스트백하기, ASP.NET POSTBACK)
ASP.NET 2.0 이후 에서는 이전페이지(onj1.aspx)에서 다른 페이지(onj2.aspx)로 포스트백을 사용할 수 있다.
이전페이지에서는 PostBackUrl을 통해 포스트백 시킬 URL을 기술하고 다음페이지에서는 Page.PreviousPage를 통해 이전페이지에서 넘어오는 컴트롤의 값들을 확인 할 수 있다.
ASP.NET 1.0에서는 버튼 클릭시 자바스크립트로 submit하거나, 버튼 이벤트로 response.redirect() 등을 이용하여 페이지 이동을 하였다.
ASP.NET 2.0이상 에서는 버튼에 PostBackUrl 속성을 사용하여 submit 할수 있고, submit하여 이동된 페이지에서 Page.PreviousPage 메서드를 사용하여 이전페이지의 컨트롤들의 값을 가져올 수 있다.
(onj1.aspx)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="onj1.aspx.cs" Inherits="onjweb1.onj1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:label ID="label1" runat="server" Text="이I름А?></asp:label>
<asp:TextBox ID="textbox1" runat="server" />
<asp:Button ID="button1" runat="server" Text=“다른페이지로포스트백" />
</div>
</form>
</body>
</html>
(onj1.aspx.cs)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace onjweb1
{
public partial class onj1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.button1.PostBackUrl = "~/onj2.aspx";
}
}
}
{
public partial class onj1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.button1.PostBackUrl = "~/onj2.aspx";
}
}
}
(onj2.aspx)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="onj2.aspx.cs" Inherits="onjweb1.onj2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="label1" runat="server" Text="Name : "></asp:Label>
<asp:Label ID="label2" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="label1" runat="server" Text="Name : "></asp:Label>
<asp:Label ID="label2" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
(onj2.aspx.cs)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace onjweb1
{
public partial class onj2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
TextBox t = (TextBox)Page.PreviousPage.FindControl("textbox1");
this.label2.Text = t.Text;
}
}
}
{
public partial class onj2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
TextBox t = (TextBox)Page.PreviousPage.FindControl("textbox1");
this.label2.Text = t.Text;
}
}
}
댓글 없음:
댓글 쓰기