aspの基本的な文法

  • サーバ処理は<% %>で囲みます。
    • サーバ処理(<% %>で囲まれた箇所)は出力(レスポンス)されません。
  • サーバ処理以外の箇所は普通のhtmlと同じように、そのまま出力されます。

サーバ処理で変数などを出力したい場合はresponse.write(出力する変数など)を使用します。

<% resonse.write("sample") %><%= "sample" %>と書き換えることができます。

下記にサンプルを示します。

<!DOCTYPE HTML>
<html>

<head>
  <title>商品マスタ</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
<%
  'この部分はサーバ処理のため出力されません
  dim outtext
  outtext = "テスト出力"
%>
<body>
<% '↓この部分はサーバ処理で「出力する処理」を行っているため「サーバ処理で出力」と出力されます %>
<% response.write("サーバ処理で出力") %>
<% '↑ %>
  <table class="common-table">
    <caption>商品マスタ</caption>
    <thead>
      <tr>
        <th>商品コード</th>
        <th>商品名</th>
        <th>単価</th>
      </tr>
    </thead>
    <tbody>
<%
  'SQLでデータ取得
  Rs.Open strSql,Conn,3,1
  If Not Rs.EOF Then
    Do While Not Rs.EOF
      '1件ずつ出力する
      response.write("<tr><td>" & Rs("商品コード") & "</td><td>" & Rs("商品名") & "</td><td>" & Rs("単価") & "</td>")
      Rs.MoveNext
    Loop
  End If

  Rs.Close
  Conn.Close
%>
    </tbody>
  </table>
<%' ↓の処理は2行とも同じ結果になります %>
  <%= outtext %>
  <% response.write(outtext) %>
<% '↑ %>
</body>
</html>

サーバ側でプログラムを実行し、出力されたhtmlは下記にのようになります。

<!DOCTYPE HTML>
<html>

<head>
  <title>商品マスタ</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>

<body>
サーバ処理で出力
  <table class="common-table">
    <caption>商品マスタ</caption>
    <thead>
      <tr>
        <th>商品コード</th>
        <th>商品名</th>
        <th>単価</th>
      </tr>
    </thead>
    <tbody>
<tr><td>1</td><td>ペン</td><td>100</td>
<tr><td>2</td><td>ノート</td><td>200</td>
    </tbody>
  </table>

  テスト出力
  テスト出力
</body>
</html>

エンコード処理

例えば"<strong>sample</strong>"を文字列として表示したい場合、response.write("<strong>sample</strong>")としても、 <>htmlのタグとして認識されてしまい、sampleと表示されてしまいます。

htmlでは,<&lt;と記述し,>&gt;と記述する必要があります。

そのためには出力する文字列をエンコード処理する必要があります。

上記の例をエンコードする場合はresponse.write(Server.HTMLEncode("<strong>sample</strong>"))という処理になります。


関連記事

  • aspの基本的な文法

    aspの基本的な文法について説明します。サーバ処理以外の箇所は普通のhtmlと同じように、そのまま出力されます。サーバ処理で変数などを出力したい場合はresponse.write(出力する変数など)を...


  • 入力エラー時にテキストボックスの値を保持する方法

    classic aspで入力エラー時にテキストボックスの値を保持する方法について説明します。現状では、入力チェックでエラーになった場合、ユーザがテキストボックスに入力した値がクリアされてしまいます。入...


  • asp.netのイベントの基本と注意事項

    asp.netではsubmitコントロールにrunat="server"属性を指定してsubmitするようにすれば、サーバ処理ではフォームアプリと同じようにイベントのファンクション...


  • カミソリ負けで肌荒れに困っているときの対処法

    カミソリから髭剃りに変えてから肌荒れは格段に改善しましたので、私のようにカミソリ負けによる肌荒れに悩んでいる方にはおすすめです。温タオルでひげを温めてひげを柔らかくして、シェービングクリームをつけて、...


  • 冠着山に登山・トレッキングに行ってきました

    冠着駅から歩いて行ったのですが、途中の道はサイクリングをしたくなるようなとても気持ちのいい道でした。かなりの長距離で大変でしたが、姨捨のあぜ道は景色がとても絶景で、風も心地良かったです。夏には最高の避...


  • 唐松岳・八方尾根に日帰り登山レビュー

    唐松岳に日帰り登山に行ってきました。登山道は森の中を歩く箇所は少なく、ほとんど開けた場所で、風が下から吹いてきてとても気持ちが良いです。途中までリフトが使えることや、道がとても歩きやすいことから、唐松...


  • asp.netの基本・aspとの違い

    classic aspとasp.net(aspx)の違いやaspx.netの基本的な考え方ついて説明します。ここまでaspを用いてWEBアプリの基本を説明してきましたが、ここまでのサンプルコードを見て...


  • 一人暮らしに便利なおすすめ家電と使わない家電

    初めて一人暮らしを始めるときに、便利そうな家電を買ってみたものの、結局使用しなくなったという経験がある方は多いと思います。一人暮らしをしていたときに、実際に買ってみて重宝した家電や逆に買っても使用しな...


  • Laravel5 Carbonでエラーになってしまうときの対処法

    Laravel5でCarbonを使用するとなぜかエラーになってしまいました。以下のようにしたらうまく動きました。PHPやLaravelに慣れていない人は意外とハマってしまうところかもしれません。


  • laravel なぜかcatchに入らない時に確認すること

    laravelでtry-catchの処理で、tryの中でエラーが発生したのに、何故かcatchに入らずに、サーバーエラーになってしまう時がありました。以下のように実装していましたが、catchの引数の...