ASP.NET Hosting Indonesia – Jaringan Hosting :: Cara transfer data antar halaman pada ASP.Net 4.5.2
ASP.Net merupakan platform pemograman web yang dikembangkan
oleh Microsoft. Dan merupakan penerus dari Active Server Pages. Istilah
“Classic ASP” biasanya digunakan untuk menyebutkan versi sebelumnya dari Active
Server Pages dengan .net (dibaca dot
net) version.
Dalam posting kali ini saya akan memberikan 8 cara untuk
mengirim data antar halaman ASP.NET. cara dibawah diantaranya menggunakan
cache, http post, querying variables, ASP.NET session state dan lain lain.
setiap tombol pada demonya membutuhkan code click event handler yang membawa ke
halaman tujuan yang berbeda dan menampilkan data yang telah dikirimkan
Berikut adalah metode tersebut
- Menggunakan Query String
Koleksi Query String digunakan utnuk mengambil nilai variable
pada http Querystring. Dengan enggunakan teknik ini, saya akan mengambil data
dengan url dan pada halaman berikutnya akan menangkapnya.
protected void QueryStringButton_Click(object sender,
EventArgs e)
{
Response.Redirect("QueryStringPage.aspx?Data=" + Server.UrlEncode(DataToSendTextBox.Text));
{
Response.Redirect("QueryStringPage.aspx?Data=" + Server.UrlEncode(DataToSendTextBox.Text));
- Menggunakan HTTP Post
Hypertect Transfer Protocol (HTTP) merukana protocol
komunikasi yang di desain untuk dapat memberikan respon antara client dan
server. Dengan teknik ini saya akan memanggil post back url dan pada halaman
berikutnya dengan menggunakan request saya akan menangkapnya.
<asp:Button ID="HttpPostButton" runat="server"
Text="Use HttpPost"
PostBackUrl="~/HttpPostPage.aspx" onclick="HttpPostButton_Click"/>
protected void HttpPostButton_Click(object sender, EventArgs e)
{
// The PostBackUrl property of the Button takes care of where to send it!
}
PostBackUrl="~/HttpPostPage.aspx" onclick="HttpPostButton_Click"/>
protected void HttpPostButton_Click(object sender, EventArgs e)
{
// The PostBackUrl property of the Button takes care of where to send it!
}
- Menggunakan Session State
Session dapat digunakan sebagai tempat penyimpanan, bahkan
data yang rumit sekalipun seperti cookies. Sebenanrnya session menggunakan
cookie untuk menyimpan data kecuali anda secara eksplisit tidak mengijinkannya.
Session dapat digunakan dengan muda pada ASP.Net dengan session object.
Menggunakan teknik ini saya akan menyimpan data pada session dalam mesin client
dan di halaman berikutnya mengambilnya. Menggunakan aplikasi variable lebih
disarankan untuk ahlinya dibandingkan dengan variable session.
protected void SessionStateButton_Click(object
sender, EventArgs e)
{
Session["Data"] = DataToSendTextBox.Text;
Response.Redirect("SessionStatePage.aspx");
}
{
Session["Data"] = DataToSendTextBox.Text;
Response.Redirect("SessionStatePage.aspx");
}
- Gunakan Public Properties
properties tidak hanya digunakan untuk akses ke fiels, hal
ini juga digunakan untuk mengontrol akses ke field yang ada di dalam kelas.
public string DataToSend
{
get
{
return DataToSendTextBox.Text;
}
}
protected void PublicPropertiesButton_Click(object sender, EventArgs e)
{
Server.Transfer("PublicPropertiesPage.aspx");
}
{
get
{
return DataToSendTextBox.Text;
}
}
protected void PublicPropertiesButton_Click(object sender, EventArgs e)
{
Server.Transfer("PublicPropertiesPage.aspx");
}
- Gunakan PreviousPage Control Info
Dengan menggunakan teknik ini saya akan saya akan
mengarahkan user ke halaman selanjutnya dan halaman selanjutnya akan
menggunakan previouspage.FindControl untuk menangkap data
protected void ControlInfoButton_Click(object
sender, EventArgs e)
{
Server.Transfer("ControlInfoPage.aspx");
}
// target page:
protected void Page_Load(object sender, EventArgs e)
{
var textbox = PreviousPage.FindControl("DataToSendTextbox") as TextBox;
if (textbox != null)
{
DataReceivedLabel.Text = textbox.Text;
}
}
{
Server.Transfer("ControlInfoPage.aspx");
}
// target page:
protected void Page_Load(object sender, EventArgs e)
{
var textbox = PreviousPage.FindControl("DataToSendTextbox") as TextBox;
if (textbox != null)
{
DataReceivedLabel.Text = textbox.Text;
}
}
- Gunakan HttpContect items Collection
protected void HttpContextButton_Click(object
sender, EventArgs e)
{
HttpContext.Current.Items["data"] = DataToSendTextBox.Text;
Server.Transfer("HttpContextItemsPage.aspx");
}
// target page:
protected void Page_Load(object sender, EventArgs e)
{
this.DataReceivedLabel.Text =(String) HttpContext.Current.Items["data"];
}
{
HttpContext.Current.Items["data"] = DataToSendTextBox.Text;
Server.Transfer("HttpContextItemsPage.aspx");
}
// target page:
protected void Page_Load(object sender, EventArgs e)
{
this.DataReceivedLabel.Text =(String) HttpContext.Current.Items["data"];
}
- Gunakan Coockie
Cookies merukana kepingan kecil pada text diantara browser
dan webserver setiap kali request. Olehkarena itu nilainya tersedia disetiap
halaman. Cookies biasanya digunakan untuk menyimpan preferensi user yang dapat
membantu situs mengingat fitur fitur yang perlu dinyatakan atau dipadamkan.
protected void CookiesButton_Click(object sender,
EventArgs e)
{
HttpCookie cook = new HttpCookie("data");
cook.Expires = DateTime.Now.AddDays(1);
cook.Value = DataToSendTextBox.Text;
Response.Cookies.Add(cook);
Response.Redirect("HttpCookiePage.aspx");
}
// target page:
protected void Page_Load(object sender, EventArgs e)
{
DataReceivedLabel.Text = Request.Cookies["data"].Value;
}
{
HttpCookie cook = new HttpCookie("data");
cook.Expires = DateTime.Now.AddDays(1);
cook.Value = DataToSendTextBox.Text;
Response.Cookies.Add(cook);
Response.Redirect("HttpCookiePage.aspx");
}
// target page:
protected void Page_Load(object sender, EventArgs e)
{
DataReceivedLabel.Text = Request.Cookies["data"].Value;
}
- Gunakan Cache
Cache utamanya digunakan untuk meningkatkan performans dari
sebuah web pages, anda dapat menambahkan objek dan mengambilnya jika
diinginkan. Cache items disimpan pada memory di dalam server dan dapat
digolongkan sebagai variable global khusus, pada kenyataannya
pre-ASP.NET, application state digunakan sebagai cache, perbedaan antara application variables dan cache adalah cache menawarkan management API pada web pages, cache di atur melalui WebCache helper. Apabila anda ingin memasukkan sesuatu kedalam cahe anda dapat menggunakan WebCache.Set method. Method ini mengambil empat parameter, nama yang akan diberikan pada item cache, itemnya itu sendiri, lamanya item berada pada cache dalam menit (defaulnya 20) dan pada menit tersebut harus di restart baik jika item ditunjuk atau tidak (defaultnya: true hal ini disebut Slidiing Expiration
pre-ASP.NET, application state digunakan sebagai cache, perbedaan antara application variables dan cache adalah cache menawarkan management API pada web pages, cache di atur melalui WebCache helper. Apabila anda ingin memasukkan sesuatu kedalam cahe anda dapat menggunakan WebCache.Set method. Method ini mengambil empat parameter, nama yang akan diberikan pada item cache, itemnya itu sendiri, lamanya item berada pada cache dalam menit (defaulnya 20) dan pada menit tersebut harus di restart baik jika item ditunjuk atau tidak (defaultnya: true hal ini disebut Slidiing Expiration
protected void CacheButton_Click(object sender,
EventArgs e)
{
Cache["data"] = DataToSendTextBox.Text;
Server.Transfer("CachePage.aspx");
}
// target page:
protected void Page_Load(object sender, EventArgs e)
{
this.DataReceivedLabel.Text = (string) Cache["data"];
}
{
Cache["data"] = DataToSendTextBox.Text;
Server.Transfer("CachePage.aspx");
}
// target page:
protected void Page_Load(object sender, EventArgs e)
{
this.DataReceivedLabel.Text = (string) Cache["data"];
}
0 comments:
Post a Comment