How to Validate Forms with ASP.NET MVC 2 Data Annotations: Listing 1.
The Index() and Edit() Methods for the Customer Controller
Dim DBContext As New Database1DataContext
' GET: /Customer
Function Index() As ActionResult
Dim customers As List(Of Customer) =
DBContext.Customers.ToList()
Return View(customers)
End Function
' GET: /Customer/Edit/5
Function Edit(ByVal id As Integer) As ActionResult
Dim CustomerRecord As Customer =
(From item In DBContext.Customers
Where item.CustomerId = id
Select item).SingleOrDefault
If (IsNothing(CustomerRecord)) Then _
Return View("CustomerNotFound")
Return View(CustomerRecord)
End Function
' POST: /Customer/Edit/5
<HttpPost()> _
Function Edit(
ByVal id As Integer,
ByVal CustomerData As Customer) As ActionResult
Dim CustomerRecord As Customer = Nothing
Try
CustomerRecord =
(From item In DBContext.Customers
Where item.CustomerId = id
Select item).SingleOrDefault
If (ModelState.IsValid) Then
UpdateModel(CustomerRecord)
DBContext.SubmitChanges()
Return RedirectToAction("Index", "Home")
Else
Return View(CustomerRecord)
End If
Catch ex As Exception
ModelState.AddModelError("GeneralError",
"Error Updating Database: " & ex.Message)
Return View()
End Try
End Function