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のセレクトボックスの取得/設定