作成 2011.04.23
更新 2011.04.23
ASP.NET で POST メソッドを受け取る
コード
キモは System.Web.UI.Page.Request.Form プロパティ で値を取得するという点と、送信元の文字コードをUTF-8で統一するという点です。
それ以外の文字コードから POST するときは、変換する必要があります。
送信元 postform.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Post Test</title>
</head>
<body>
<form name="f1" method="POST" action="postform.aspx">
<input type="checkbox" name="c1" value="チェック1" checked>チェック<br>
<input type="radio" name="r1" value="ラジオ1" checked>ラジオ1
<input type="radio" name="r1" value="ラジオ2">ラジオ2<br>
<input type="text" name="t1" value="テキスト1" size="20">
<input type="submit" value="Submit">
</form>
</body>
</html>
送信先 postform.aspx
<%@ PAGE LANGUAGE="C#" %>
<html>
<head>
<title>Post Test</title>
<script runat="server">
void Page_Load(object sender, EventArgs e)
{
  int loop1;
  NameValueCollection coll;
  //Load Form variables into NameValueCollection variable.
  coll = Request.Form;
  // Get names of all forms into a string array.
  String[] arr1 = coll.AllKeys;
  String str_result = "";
  for (loop1 = 0; loop1 < arr1.Length; loop1++) 
  {
    str_result += arr1[loop1] + ":" + coll.Get(arr1[loop1]) + "<br>";
  }
  form_result.Text = str_result;
}
</script>
</head>
<body>
  <form runat="server">
  Form で送付されてきた一覧<br>
  <asp:Label id="form_result" Text="" runat="server" />
  </form>
</body>
</html>
実行結果
Form で送付されてきた一覧
c1:チェック1
r1:ラジオ1
t1:テキスト1
タグ: ASP.NET CSharp

©2004-2017 UPKEN IPv4