NameValueCollection.Item[]

NameValueCollectionは、インデクサに対応してるので、キーを指定して値を取り出すハッシュ形式で値を取得できる。

NameValueCollection.Item[] プロパティ (System.Collections.Specialized) | Microsoft Docs

MainClass.csで、

キー"Jiro"を指定して、値を取得する。

col[Jiro] = Osaka
続行するには何かキーを押してください . . .

結果こうなる。

Sample/dotnet/NameValueCollection/Item/src/NameValueCollection_ at master · bg1bgst333/Sample · GitHub

NameValueCollection

NameValueCollectionは、名前(キー)と値の組み合わせで保持するコレクション。

NameValueCollection クラス (System.Collections.Specialized) | Microsoft Docs

連想配列とかハッシュとか辞書型とかいろいろ言い方はあるけど、それとほぼ同じ。
ただ、キーは1つに対して、値は複数登録できるのがちょっと違うかな。
MainClass.csで、

Addで追加して、GetKeyで何番目かを指定して名前を取得、Getで何番目かを指定して値を取得。

空プロだとSystemの参照が要るんだった。
空プロだとSystemの参照が要るんだった。

空プロだとSystem.dllの参照が要るんだった。

0:Taro = Tokyo
1:Jiro = Osaka
2:Saburo = Nagoya
続行するには何かキーを押してください . . .

最終的にはこうなる。

Sample/dotnet/NameValueCollection/NameValueCollection/src/NameValueCollection_ at master · bg1bgst333/Sample · GitHub

Page.Request

Page.Requestで、このページに紐づいたリクエストオブジェクトインスタンス(リクエスト情報などを持つ)を取得する。

Page.Request プロパティ (System.Web.UI) | Microsoft Docs

Page_.aspxで、

型を確認すると、

中身はSystem.Web.HttpRequest
中身はSystem.Web.HttpRequest

中身はSystem.Web.HttpRequest。

Sample/aspnet/Page/Request/src/Page at master · bg1bgst333/Sample · GitHub

HttpRequest

HttpRequestは、ASP.NETページのリクエスト情報を持つ。

HttpRequest クラス (System.Web) | Microsoft Docs

HttpRequest_.aspxで、

Request.HttpMethodを出力してみる。
まあ、普通にブラウザでアクセスした場合は、"GET"になるはず。

確かに"GET"
確かに"GET"

確かに"GET"。

Sample/aspnet/HttpRequest/HttpRequest/src/HttpRequest at master · bg1bgst333/Sample · GitHub

HttpResponse.Write

HttpResponse.Writeで、指定の文字列をHTTPレスポンス出力ストリームに出力。

HttpResponse.Write メソッド (System.Web) | Microsoft Docs

HttpResponse_.aspxで、aタグのハイパーリンクを出力しようとしたが、

<%@ Page Language="C#" %>
<html>
  <head runat="server">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title id="title_index">HttpResponse_</title>
  </head>
  <body>
    <% Response.Write(@"<a href="http://bgstation0.com/">B.G-STATION</a>"); %>
  </body>
</html>

C#特有の'@'によるエスケープで書いたら、

なぜかエラー
なぜかエラー

なぜかエラー。

通常の'\'によるエスケープにしたら、

ハイパーリンクが表示された
ハイパーリンクが表示された

ハイパーリンクが表示された。
なんでだろ・・・。

Sample/aspnet/HttpResponse/Write/src/HttpResponse at master · bg1bgst333/Sample · GitHub

HttpResponse

HttpResponseは、ASP.NETページのレスポンス情報を持つ。

HttpResponse クラス (System.Web) | Microsoft Docs

HttpResponse_.aspxで、

StatusプロパティはHTTPステータス文字列を格納しているので、そのまま"<%=~"で出力できる。

既定値は&quot;200 OK&quot;になっている。
既定値は"200 OK"になっている。

既定値は"200 OK"になっている。
(docsだと「既定値は 200 (OK) です。」ってあるけど、括弧は無いのか。)
これを処理によって違うものに変えたりもできる。

Sample/aspnet/HttpResponse/HttpResponse/src/HttpResponse at master · bg1bgst333/Sample · GitHub

Page.Response

Page.Responseで、このページに紐づいたレスポンスオブジェクトインスタンス(レスポンス情報や操作が出来る)を取得する。

Page.Response プロパティ (System.Web.UI) | Microsoft Docs

Page_.aspxで、

Response.GetTypeで実際は何の型なのか見てみる。

中身はSystem.Web.HttpResponse
中身はSystem.Web.HttpResponse

中身はSystem.Web.HttpResponse。

Sample/aspnet/Page/Response/src/Page at master · bg1bgst333/Sample · GitHub