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
comments powered by Disqus

Featured

  • Low-Coding in the Age of AI: Dataverse Embraces Copilot, Claude and Cursor

    Microsoft is extending Dataverse into coding-agent marketplaces while expanding its MCP tools, certification program and governance controls.

  • Visual Studio Takes Aim at Copilot Billing Shock

    Beyond Copilot usage visibility, the June update delivers several other enhancements centered on AI-assisted development, security and quality-of-life improvements. Here's a quick rundown of the remaining additions announced by Microsoft.

  • Claude AI Gets Yet Another Boost in VS Code 1.128

    The July 8, 2026, Visual Studio Code update expands agent workflows, chat attachments, browser-tab controls, OS-level shortcuts and enterprise telemetry management.

  • TypeScript 7 Arrives to Rock VS Code with Go-Powered Speed

    Microsoft says TypeScript 7, announced July 8, brings native Go performance to VS Code, Visual Studio and other editors.

Subscribe on YouTube