Thứ sáu, ngày 24 tháng 11 năm 2017

Truyền dữ liệu theo phương thức POST sang 1 trang khác trong ASP.NET

Ngày đăng: 26/3/2011, 22:53:26AM | Lượt xem: 23,416
Hot!

Trong bài này tôi giới thiệu các bạn cách truyền dữ liệu từ 1 website đến 1 site khác trong ASP.Net theo phương thức POST bằng cách sử dụng lớp HttpWebRequest .

1 ví dụ nhỏ ở đây là chúng ta sẽ truyền 2 tham số First Name và Last Name đến website khác theo phương thức POST. 

Namespaces

Bạn cần sử dụng namespaces sau

C#

using System.Text;

using System.Net;

using System.IO;

VB.Net

Imports System.Text

Imports System.Net

Imports System.IO

 

Sử dụng lớp HttpWebRequest 

Thêm vào 1 button ASP.Net  và trong sự kiện click ta thực hiện như sau :

C#

protected void Button1_Click(object sender, EventArgs e)

{

    string remoteUrl = "http://localhost:54358/PostDataFromOneWebsiteToAnother/Page2_CS.aspx";

    string firstName = "Tuan";

    string lastName = "Tran";

 

    ASCIIEncoding encoding = new ASCIIEncoding();

    string data = string.Format("FirstName={0}&LastName={1}", firstName, lastName);

    byte[] bytes = encoding.GetBytes(data);

    HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(remoteUrl);

    httpRequest.Method = "POST";

    httpRequest.ContentType = "application/x-www-form-urlencoded";

    httpRequest.ContentLength = bytes.Length;

    using (Stream stream = httpRequest.GetRequestStream())

    {

        stream.Write(bytes, 0, bytes.Length);

        stream.Close();

    }

}

 

VB.Net

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)

        Dim remoteUrl As String = "http://localhost:54358/PostDataFromOneWebsiteToAnother/Page2_VB.aspx"

        Dim firstName As String = "Tuan"

        Dim lastName As String = "Tran"

        Dim encoding As ASCIIEncoding = New ASCIIEncoding

        Dim data As String = String.Format("FirstName={0}&LastName={1}", firstName, lastName)

        Dim bytes() As Byte = encoding.GetBytes(data)

        Dim httpRequest As HttpWebRequest = CType(WebRequest.Create(remoteUrl), HttpWebRequest)

        httpRequest.Method = "POST"

        httpRequest.ContentType = "application/x-www-form-urlencoded"

        httpRequest.ContentLength = bytes.Length()

        Dim stream As Stream = httpRequest.GetRequestStream

        stream.Write(bytes, 0, bytes.Length)

        stream.Close()

End Sub

 

 Lấy dữ liệu POST từ trang remote

Trên trang Remote bạn thực hiện lấy dữ liệu theo cách như sau :

C#

protected void Page_Load(object sender, EventArgs e)

{

    if (Request.Form.Count > 0)

    {

        string firstName = Request.Form["FirstName"];

        string lastName = Request.Form["LastName"];

    }

}

 

VB.Net

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load

        If Request.Form.Count > 0 Then

            Dim firstName As String = Request.Form("FirstName")

            Dim lastName As String = Request.Form("LastName")

        End If

End Sub



Chúc các bạn thành công.

 Chia sẻ qua: 
Hot!
Ý kiến bạn đọc

These items will be permanently deleted and cannot be recovered. Are you sure?

Gallery

image

Maecenas viverra rutrum pulvinar

Maecenas viverra rutrum pulvinar! Aenean vehicula nulla sit amet metus aliquam et malesuada risus aliquet. Vestibulum rhoncus, dolor sit amet venenatis porta, metus purus sagittis nisl, sodales volutpat elit lorem…

Read more

Text Links

Thiết kế logo chuyên nghiệp Insky
DAFABET
W88 w88b.com/dang-ky-tai-khoan-w88
W88
ca do bong da online
Copyright © 2011 - 2012 vietshare.vn by phamkhuong102@gmail.com doanhkisi2315@gmail.com. All rights reserved.