ASP.NET Web Pages - HTML フォーム

フォーム(表单)は、HTMLドキュメントに入力コントロール(テキストボックス、チェックボックス、ラジオボタン、ドロップダウンメニュー)を配置する場所です。

HTML 入力ページの作成

Razor インスタンス

<html>
<body> 
@{
if (IsPost) { 
string companyname = Request["companyname"]; 
string contactname = Request["contactname"]; 
<p>入力した内容: <br />
会社名: @companyname <br />
連絡先名: @contactname </p>
}
else
{
<form method="post" action="">
会社名:<br />
<input type="text" name="CompanyName" value="" /><br />
連絡先名:<br />
<input type="text" name="ContactName" value="" /><br /><br />
<input type="submit" value="提出" class="submit" />
</form>
}
} 
</body> 
</html>

実行例

Razor インスタンス - 画像表示

例えば、画像フォルダーに3枚の画像があり、ユーザーの選択に応じてこれらの画像を動的に表示したいとします。

少しのRazorで簡単に実現できます。

ウェブサイトの画像フォルダー内の画像の名前が「Photo1.jpg」の場合、HTMLの<img>要素を使用してこの画像を表示できます:

<img src="images/Photo1.jpg" alt="サンプル" />

以下の例では、ユーザーがドロップダウンリストから選択した画像を表示する方法を示しています:

Razor インスタンス

@{
var imagePath=""; 
if (Request["Choice"] != null)
   {imagePath="images/" + Request["Choice"];} 
} 
<!DOCTYPE html> 
<html> 
<body> 
<h1>画像表示</h1> 
<form method="post" action=""> 
見たいもの: 
<select name="Choice"> 
  <option value="Photo1.jpg">Photo 1</option> 
  <option value="Photo2.jpg">Photo 2</option> 
  <option value="Photo3.jpg">Photo 3</option> 
</select> 
<input type="submit" value="提出" /> 
@if (imagePath != "")
{
<p>
<img src="@imagePath" alt="サンプル" />
</p>
}  
</form> 
</body> 
</html>

実行例

例説明

サーバーは imagePath という名前の変数があります。

HTML ページには、 Choiceドロップダウンリスト(<select> 要素)。ユーザーが友好的な(編集者注:読みやすい)名前(例えば Photo 1)、ページがウェブサーバーに送信されたとき、サーバーにファイル名(例えば Photo1.jpg)を渡します。

Razor は Request["Choice"] Choice の値を読み取ります。値が存在する場合、コードは画像へのパス(images/Photo1.jpg)を作成し、そのパスを変数に保存します。 imagePath

HTML ページの <img> 要素がこの画像を表示します。ページが表示されたとき、src 属性は imagePath 変数の値に設定されます。

変数 imagePath の値が空の場合、<img> 要素が存在しない画像を表示しないように防止されます(例えば、ページが最初に読み込まれた場合)。