1. ホーム
  2. asp.net

asp.netのPostとGetデータの取得方法

2022-02-20 10:28:09

I. 取得 投稿 データのメソッド

C#のコード <スパン (その <スパン Actipro CodeHighlighterによるコードハイライト(フリーウェア)

http://www.CodeHighlighter.com/ ) <スパン

protected void Page_Load(object sender, EventArgs e)

{

Response.Write(GetInput())を実行します。

}

私的な文字列GetInput()

{

トライ

{

System.IO.Stream s = Request.InputStream.System.IO.Stream。

int count = 0;

byte[] buffer = new byte[1024]です。

StringBuilder builder = new StringBuilder();

while ((count = s.Read(buffer, 0, 1024)) > 0)

{

builder.Append(Encoding.UTF8.GetString(buffer, 0, count))を実行します。

}

builder.ToString()を返します。

}

catch (Exception ex)

{

exを投げる。

}

}

<スパン

自分で書く場合の例

プロテクト 無効 ページ_ロード( オブジェクト 送信者 EventArgs e)

<スパン {

<スパン <スパン ストリーム s = Request.InputStream;

//ストリーム バイト列の一般的なビューを提供します。

<スパン //Request.InputStream 着信を取得する HTTP エンティティボディの内容。

<スパン バイト [] バッファ = 新しい バイト [1024]; // 記号なし <スパン 8 ビット整数配列

<スパン

<スパン <スパン イント count = 0;

<スパン ストリングビルダー builder = 新規 ストリングビルダー (); // 可変文字列を表す。

<スパン ((count = s.Read(buffer, 0, 1024)) > 0) // 読むたびに <スパン 1024 バイト <スパン

<スパン /*ストリーム のインスタンスメソッドは 読み込み() の構文は

<スパン public abstract int Read (byte[] buffer,int offset,int count)

<スパン * から <スパン ストリーム で取得したバイト列を バッファ

<スパン *オフセット に基づくものである。 0 現在のストリームから読み込んだデータを格納するバイトオフセット

<スパン *count 現在のストリームから読み込む最大バイト数を表します。

<スパン *Read() このメソッドの戻り値は、バッファに読み込まれた総バイト数で、現在利用可能なバイト数が要求されたバイト数より少ない場合は

<スパン その場合、合計バイト数が要求されたバイト数より少なくなる可能性があります。

<スパン * ストリームの終端に到達している場合は0 (0) . <スパン

<スパン */

<スパン {

<スパン <スパン builder.Append( エンコーディング UTF8.GetString(buffer, 0, count));

//builder.Append(Encoding.Default.GetString(buffer, 0, count)) を実行します。

<スパン <スパン // 可変文字列にバイトを追加する

<スパン //GetString(文字列 メソッドは、バイト列を文字列にデコードします。

<スパン }

<スパン 文字列 name = builder.ToString();

<スパン HttpResponse hr = HttpContext Current.Response。

<スパン hr.Clear()を実行します。

hr.Write(name)を実行します。

hr.Flush()を実行します。

hr.End()を実行します。

}

<スパン

<スパン

<スパン II. 取得 取得 データに関するメソッド

string strName = HttpContext.Current.Request.QueryString["name"];

// クエリ文字列 を取得することができます。 url のパラメータは

string strRes = "これはサーバーからの応答です:/r/n" + "こんにちは、 " + strName + "! ";

       HttpContext.Current.Response.Clear()を実行します。 // バッファストリームから出力されたすべてのコンテンツをクリアします。

       HttpContext.Current.Response.Write(strRes)を実行。 // メッセージの書き込み先 HTTP レスポンス出力ストリーム。

       HttpContext.Current.Response.Flush()を実行します。 // 現在キャッシュされているすべての出力をクライアントに送信します。

       HttpContext.Current.Response.End()を実行します。 現在キャッシュされているすべての出力をクライアントに送信し、ページの実行を停止し、そして EndRequest イベント ( 停止要求 ) .