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

ASP.NETのRazorのチェックボックスの値を確認するサンプルです。
言語はVB.NETです。

確認環境
・Microsoft Visual Studio Community 2019

目次

チェックボックス 目的
  コントローラーでチェックボックスの値を確認する

目的

チェックボックスにチェックする(またはしない)でPOSTした時、サーバー側で取得する値を確認します。

コントローラーでチェックボックスの値を確認する

ビュー

チェックボックスがあるビュー(view1.vbhtml)です。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Index</title>
</head>
<body>
  <form method="post" action="test1/TestForm">
    <input type="checkbox" name="check1" value="a">
    <input type="checkbox" name="check1" value="b">
    <input type="checkbox" name="check1" value="c">
    <input type="submit" value="送信ボタン">
  </form>
</body>
</html>

9~11行目は、チェックボックスです。value値としてそれぞれa,b,cを指定しています。
8~13行目がformです。12行目のsubmitボタンを押すと8行目のtest1/TestFormへチェックボックスの値を送信します。

コントローラ

ビューから取得した値を確認するコントローラです。

Namespace Controllers
    Public Class test1Controller
        Inherits Controller

        Function Index() As ActionResult
            Return View("view1")
        End Function

        Function TestForm() As ActionResult
            Dim str1 As String

            If IsNothing(Request.Form("check1")) Then
                Console.WriteLine("null")
            Else
                str1 = Request.Form("check1")
            End If

            Return View("view2")
        End Function
    End Class
End Namespace

5~7行目は、チェックボックスのビューを表示するFunctionです。
9行目からが、ビュー(view1.vbhtml)のチェックボックスの値を取得する箇所です。
10行目は、String型の変数です。
12行目は、nothing(null)か確認しています。
ビューでチェックボックス全てにチェックを入れなかったときは、nothing(null)になります。

15行目は、チェックボックスの値を変数にセットしています。
チェックボックスの1つめと3つめにチェックを入れたとき、変数str1にはチェックボックスのvalue値のa,cがセットされます。カンマ区切りです。以下図参照。

3つすべてにチェックを入れたとき、変数str1にはa,b,cがセットされます。

 

配列にする場合

取得した値を配列にする場合は、splitメソッドを使用します。

Function TestForm() As ActionResult
            Dim str1() As String

            If IsNothing(Request.Form("check1")) Then
                Console.WriteLine("null")
            Else
                str1 = Request.Form("check1").Split(",")
            End If

2行目は、String型の配列です。
7行目は、Splitメソッドでカンマ区切りの値を配列にしています。以下図参照。

関連の記事

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

△上に戻る