title: MVC Submit button not doing anything
body: <p>This is my first ASP MVC project - it is a simple survey that I'm starting out with only a couple questions in.  My submit button on the Create page isn't working, though, and I'm not sure why...</p>
  
  <p>After creating a fresh MVC project, I created a "Survey" model, which contains a SurveyID and 2 properties (to hold the answers to the 2 survey questions).  I then created a new Scaffolded Controller with Views based on this Survey model.  All I need is Create, so I deleted all the stuff for Details, Edit, etc.  I tried setting up my views so that under Home is an Index, which is the initial page you see, and an "EndOfSurvey", which is supposed to be what you see after submitting the survey answers.  On Index you hit the 'Next' button which takes you to the Survey Create page.  You answer the questions and then hit the 'Done' button which submits it and takes you to EndOfSurvey.  The 'Done' button on Create is not doing anything - I tried putting a break point on the first line of the Create Post and it's not even getting to that break point.  Below is my code with the few things I tried.</p>
  
  <p>Note that I realize I probably need to do something to tell it what value each property should have based on the radio button selected.  That is a separate question.  But I figure if the submit button is working it should at least be firing Create, right??</p>
  
  <p>Original Create view:</p>
  
  <pre><code> @ModelType ProSurvey.ProSurvey.Models.Survey
   @Code
       ViewData("Title") = "Create"
       Layout = "~/Views/Shared/_Layout.vbhtml"
   End Code
  
   &lt;h2&gt;Managing and Downloading from Devices&lt;/h2&gt;
  
   @Using (Html.BeginForm())
       @Html.AntiForgeryToken()
  
       @&lt;div class="form-horizontal"&gt;
           &lt;h4&gt;How often do you use the following features:&lt;/h4&gt;
           @*&lt;hr /&gt;*@
           @Html.ValidationSummary(True, "", New With { .class = "text-danger" })
           &lt;div class="form-group"&gt;
               &lt;table class="table"&gt;
                   &lt;thead&gt;
                       &lt;tr&gt;
                           &lt;th&gt;&lt;/th&gt;
                           &lt;th&gt;Never&lt;/th&gt;
                           &lt;th&gt;Rarely&lt;/th&gt;
                           &lt;th&gt;Sometimes&lt;/th&gt;
                           &lt;th&gt;Usually&lt;/th&gt;
                           &lt;th&gt;Always&lt;/th&gt;
                       &lt;/tr&gt;
                   &lt;/thead&gt;
                   &lt;tbody&gt;
                       &lt;tr&gt;
                           &lt;td&gt;@Html.DisplayNameFor(Function(model) model.mddbccu)&lt;/td&gt;
                           &lt;td&gt;
                               &lt;div class="radio"&gt;
                                   &lt;input name="mddbcuu" id="mddbcuu0" value="Never" checked="" type="radio"&gt;
                               &lt;/div&gt;
                           &lt;/td&gt;
                           &lt;td&gt;
                               &lt;div class="radio"&gt;
                                   &lt;input name="mddbcuu" id="mddbcuu1" value="Rarely" checked="" type="radio"&gt;
                               &lt;/div&gt;
                           &lt;/td&gt;
                           &lt;td&gt;
                               &lt;div class="radio"&gt;
                                    &lt;input name="mddbcuu" id="mddbcuu2" value="Sometimes" checked="" type="radio"&gt;
                               &lt;/div&gt;
                           &lt;/td&gt;
                           &lt;td&gt;
                               &lt;div class="radio"&gt;
                                   &lt;input name="mddbcuu" id="mddbcuu3" value="Usually" checked="" type="radio"&gt;
                               &lt;/div&gt;
                           &lt;/td&gt;
                           &lt;td&gt;
                               &lt;div class="radio"&gt;
                                   &lt;input name="mddbcuu" id="mddbcuu4" value="Always" checked="" type="radio"&gt;
                               &lt;/div&gt;
                           &lt;/td&gt;
                       &lt;/tr&gt;
                       &lt;tr&gt;
                           &lt;td&gt;@Html.DisplayNameFor(Function(model) model.mddtfuu)&lt;/td&gt;
                           &lt;td&gt;
                               &lt;div class="radio"&gt;
                                   &lt;input name="mddtfuu" id="mddtfuu0" value="Never" checked="" type="radio"&gt;
                               &lt;/div&gt;
                           &lt;/td&gt;
                           &lt;td&gt;
                               &lt;div class="radio"&gt;
                                   &lt;input name="mddtfuu" id="mddtfuu1" value="Rarely" checked="" type="radio"&gt;
                               &lt;/div&gt;
                           &lt;/td&gt;
                           &lt;td&gt;
                               &lt;div class="radio"&gt;
                                   &lt;input name="mddtfuu" id="mddtfuu2" value="Sometimes" checked="" type="radio"&gt;
                               &lt;/div&gt;
                           &lt;/td&gt;
                           &lt;td&gt;
                               &lt;div class="radio"&gt;
                                   &lt;input name="mddtfuu" id="mddtfuu3" value="Usually" checked="" type="radio"&gt;
                               &lt;/div&gt;
                           &lt;/td&gt;
                           &lt;td&gt;
                               &lt;div class="radio"&gt;
                                    &lt;input name="mddtfuu" id="mddtfuu4" value="Always" checked="" type="radio"&gt;
                               &lt;/div&gt;
                           &lt;/td&gt;
                       &lt;/tr&gt;
                   &lt;/tbody&gt;
               &lt;/table&gt;
           &lt;/div&gt;
       &lt;/div&gt;
  
   End Using
  
   &lt;div class="row"&gt;
       &lt;div class="col-md-4" style="align-content:center"&gt;
           &lt;button class="btn btn-default"&gt;Back&lt;/button&gt;
       &lt;/div&gt;
       &lt;div class="col-md-4" style="align-content:center"&gt;
           &lt;p&gt;Progress: []&lt;/p&gt;
       &lt;/div&gt;
       &lt;div class="col-md-4" style="align-content:center"&gt;
           &lt;input type="submit" value="Done" class="btn btn-default"&gt;
       &lt;/div&gt;
   &lt;/div&gt;
  
   @Section Scripts 
       @Scripts.Render("~/bundles/jqueryval")
   End Section
  </code></pre>
  
  <p>Original Survey Controller:</p>
  
  <pre><code> Imports System
   Imports System.Collections.Generic
   Imports System.Data
   Imports System.Data.Entity
   Imports System.Linq
   Imports System.Threading.Tasks
   Imports System.Net
   Imports System.Web
   Imports System.Web.Mvc
   Imports ProSurvey.Models
   Imports ProSurvey.ProSurvey.Models
  
   Namespace Controllers
       Public Class SurveyController
           Inherits System.Web.Mvc.Controller
  
           Private db As New ProSurveyContext
  
           ' GET: Survey
           Async Function Index() As Task(Of ActionResult)
               Return View(Await db.Surveys.ToListAsync())
           End Function
  
           Public Sub New()
           End Sub
  
           ' GET: Survey/Create
           Function Create() As ActionResult
               Return View()
           End Function
  
           ' POST: Survey/Create
           'To protect from overposting attacks, please enable the specific properties you want to bind to, for 
           'more details see http://go.microsoft.com/fwlink/?LinkId=317598.
           &lt;HttpPost()&gt;
           &lt;ValidateAntiForgeryToken()&gt;
           Async Function Create(&lt;Bind(Include:="SurveyID,mddbccu,mddtfuu")&gt; ByVal survey As Survey) As Task(Of ActionResult)
               If ModelState.IsValid Then
                   db.Surveys.Add(survey)
                   Await db.SaveChangesAsync()
                   Return RedirectToAction("EndOfSurvey")
               End If
               Return View(survey)
           End Function
  
           Protected Overrides Sub Dispose(ByVal disposing As Boolean)
               If (disposing) Then
                   db.Dispose()
               End If
               MyBase.Dispose(disposing)
           End Sub
       End Class
   End Namespace
  </code></pre>
  
  <p>Based on a couple other SO questions I found, I tried:</p>
  
  <p>Changing @Using (Html.BeginForm()) to @Using (Html.BeginForm("Create", "Survey", FormMethod.Post))</p>
  
  <p>Commenting out the Scripts section in the View</p>
  
  <p>Also commenting out the "If ModelState.IsValid.." and putting my breakpoint on db.Surveys.Add(survey).  It still didn't get to my breakpoint.</p>
  
  <p>Not sure what else to try at this point.  Any ideas?  Thank you very much!</p>
  
  <p>Survey Model:</p>
  
  <pre><code> Imports System.ComponentModel
  
   Namespace ProSurvey.Models
  
       Public Class Survey
  
           Private surveyIDInt As Integer           'Survey ID
           Private mddbccuStr As String
           Private mddtfuuStr As String
  
           Public Property SurveyID() As Integer
               Get
                   Return surveyIDInt
               End Get
               Set(ByVal value As Integer)
                   surveyIDInt = value
               End Set
           End Property
  
           Public Property mddbccu() As String
               Get
                   Return mddbccuStr
               End Get
               Set(ByVal value As String)
                   mddbccuStr = value
               End Set
           End Property
  
           Public Property mddtfuu() As String
               Get
                   Return mddtfuuStr
               End Get
               Set(ByVal value As String)
                   mddtfuuStr = value
               End Set
           End Property
  
       End Class
  
   End Namespace
  </code></pre>