ASP.NET(VB) Razorのチェックボックスの値を確認

ASP.NETとVB.NETのRazor構文のチェックボックスのサンプルです。
(確認環境:Microsoft Visual Studio Community 2019)

目次

サンプル Razor構文のチェックボックス
  ビュー(TestView1.vbhtml)
  checkboxの値を確認する

Razor構文のチェックボックス

TestView1.vbhtmlに@Html.CheckBoxでチェックボックスを生成します。

チェックした値をサーバー側に送信してどのように取得されるか確認します。

https://localhost:44320/test1/testview1

 

ビュー(TestView1.vbhtml)

@ModelType asp_test1.ActionForm
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form id="form1" method="post" action="/Test1/Display1">
	<label>
		@Html.CheckBox("check1", False, New With {.value = "red"}) red
	</label>
	<label>
		@Html.CheckBox("check1", False, New With {.value = "yellow"}) yellow
	</label>
	<label>
		@Html.CheckBox("check1", False, New With {.value = "blue"}) blue
	</label>
	<input type="submit" value="送信ボタン">
</form>
<p>選択した値</p>
<p>@Model.text1</p>
</body>
</html>

@Html.CheckBox

8,11,14行目は、@Html.CheckBoxです。
1つめの引数("check1")は、テキストボックスのidとnameの値になります。
2つめの引数は、初期値でチェックを付ける場合Trueに、チェックを付けない場合はFalseにします。
3つめの引数(New With {.value ~)は、valueの値になります。

HTMLは以下のようになります。

<label>
	<input id="check1" name="check1" type="checkbox" value="red" /><input name="check1" type="hidden" value="false" /> red
</label>
<label>
	<input id="check1" name="check1" type="checkbox" value="yellow" /><input name="check1" type="hidden" value="false" /> yellow
</label>
<label>
	<input id="check1" name="check1" type="checkbox" value="blue" /><input name="check1" type="hidden" value="false" /> blue
</label>

type="checkbox"の要素の後にtype="hidden"の要素が追加されてしまいます。

画面は以下のようになります。

 

checkboxの値を確認する

上記viewのコードの8-16行目のcheckboxでチェックを入れ20行目に表示される値は以下のとおりです。

red,yellow,blueにチェックを入れた場合

→ red,false,yellow,false,blue,false

redのみにチェックを入れた場合

→ red,false,false,false

全てにチェックを入れない場合

→ false,false,false

すべての場合でfalseが入ってしまいます。

 

コントローラ

Namespace Controllers
	Public Class Test1Controller
		Inherits Controller

		Function TestView1() As ActionResult
			Dim actionForm As New ActionForm

			Return View("testView1", actionForm)
		End Function

		Function Display1() As ActionResult
			Dim actionForm As New ActionForm
			actionForm.text1 = Request.Form("check1")

			Return View("testView1", ActionForm)
		End Function
	End Class
End Namespace

フォーム

Public Class ActionForm

	Public Property text1 As String

End Class

関連の記事

ASP.NET+VB.NET Razor構文のテキストボックス
ASP.NET(VB) Razorのセレクトボックスの取得/設定

△上に戻る