Sayfayı Redirect Etmeden Farklı Urlye Post Data Göndermek

Kodla Büyü

togius

Süper Üye
Süper Üye
Mesajlar
1,730
Değer göndermek istediğimiz sayfanın buton click olayına aşağıdaki olayı yazalım.

Kod:
string strId = "15"//User id;
        string strName = "tolga"//username;

        ASCIIEncoding encoding = new ASCIIEncoding();
        string postData = "userid=" + strId;
        postData += ("&username=" + strName);
        byte[] data = encoding.GetBytes(postData);

        // Hedef sayfa taleplerini hazırlayalım.
        HttpWebRequest myRequest =
          (HttpWebRequest)WebRequest.Create("http://localhost:49198/SmsApi/read.aspx");
        myRequest.Method = "POST";
        myRequest.ContentType = "application/x-www-form-urlencoded";
        myRequest.ContentLength = data.Length;
        Stream newStream = myRequest.GetRequestStream();
        // Send the data.
        newStream.Write(data, 0, data.Length);
        newStream.Close();

ASCIIEncoding encoding = new ASCIIEncoding();

Encoding nesnemiz postdata stringimizi GetBytes metodunu kullanarak byte[] dizisine çevirecek. WebRequest sınıfımızı HttpWebRequest referans tipine çevirdik.

GetRequestStream() sınıfını buşekilde kullandık ve newStream nesnemizi kullanarak yazma işlemini daha doğrusu myRequest.Method ve myRequest.ContentType ta da gördüğünüz gibi post ediyoruz. Sayfa fark ettiğiniz gibi post olmadı ama deneme.txt dosyamız oluştu.

read.aspx sayfamızın kod bilgilerine bakalım. Burada sayfamızı test etmek amacıyla gelen Request.Form değerlerini StreamWriter ile bir bir deneme.txt ye yazdıralım.
Kod:
protected void Page_Load(object sender, EventArgs e)
    {
        string id = Request.Form["userid"];
        string isim = Request.Form["username"];
        StreamWriter sw = new StreamWriter(Server.MapPath("~/deneme.txt"));
        sw.WriteLine(id);
        sw.WriteLine(isim);
        sw.Close();
    }
 
Geri
Üst