Я совершенно незнаком с ASP. NET MVC, и я прорабатываю учебник, чтобы получить основы. Учебник находится в C#, и я преобразую его в VB, чтобы соответствовать некоторым связанным проектам. Я должен предположить, что я что-то упускаю в этом преобразовании, но не могу понять, что это может быть.
У меня есть следующий класс:
Public Class GuestResponse
Public Name As String
Public Email As String
Public Phone As String
Public WillAttend As Boolean?
End Class
и строго типизированный представление, относящееся к этому классу:
@ModelType PartyInvites.GuestResponse
@Code
Layout = Nothing
End Code
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>RsvpForm</title>
</head>
<body>
@Using Html.BeginForm
@<p>Your name: @Html.TextBoxFor(Of String)(Function(x) x.Name)</p>
@<p>Your email: @Html.TextBoxFor(Of String)(Function(x) x.Email)</p>
@<p>Your phone: @Html.TextBoxFor(Of String)(Function(x) x.Phone)</p>
@<p>
Will you attend?
@Html.DropDownListFor(Of Boolean?)(Function(x) x.WillAttend,
New SelectListItem() {New SelectListItem With {.Text = "Yes, I'll be there", .Value = Boolean.TrueString},
New SelectListItem With {.Text = "No, I can't come", .Value = Boolean.FalseString}}, "Choose an option")
</p>
@<input type="submit" value="Submit RSVP" />
End Using
</body>
</html>
Мой контроллер имеет простой метод действия, который принимает этот класс и отвечает другим представлением:
<HttpPost>
Function RsvpForm(g As GuestResponse) As ViewResult
'TODO: Email response to the party organizer
Return View("Thanks", g)
End Function
К сожалению, данные формы из запроса на публикацию не заполняется в моем классе GuestResponse. Если я вставлю точку останова в этот метод действия, все свойства GuestResponse будут пусты. В то же время значения Request.Form выглядят как и ожидалось - они просто не заполняют объект GuestResponse.
Я уверен, что это что-то маленькое, что мне не хватает. Любая помощь приветствуется.