Quote: View: <% Dim oClient As VacancyManager2.DataModels.Client For Each oClient In Model.SearchResults %> <% Next %> Controller: <httpget()> Function IndexSearch() As ActionResult Dim oModel As ViewModels.ClientSearch = New ViewModels.ClientSearch oModel.SearchText = "" oModel.SearchResults = New List(Of DataModels.Client) Return View(oModel) End Function <httppost()> Function IndexSearch(PostedInfo As FormCollection) As ActionResult Dim sClientName = PostedInfo("ClientName") Dim oModel As ViewModels.ClientSearch = New ViewModels.ClientSearch oModel.SearchText = sClientName Dim oClientList As DataModels.ClientList = New DataModels.ClientList oModel.SearchResults = oClientList.SearchClients(sClientName) Return View(oModel) End Function DataModel: Public Class Client Property ClientID As Integer Property ClientName As String Public Sub New(inClientID As Integer, inClientName As String) Me.ClientID = inCLientID Me.ClientName = inClientName End Sub Function NumberOfVacancies() As Integer Dim oVacancyList As VacancyList = New VacancyList Return oVacancyList.NumberOfVacancies(Me.ClientID) End Function End Class Function SearchClients(inSearchFor As String) As List(Of Client) Dim oResults As List(Of Client) = New List(Of Client) Dim oClient As DataModels.Client For Each oClient In Me.Clients If LCase(oClient.ClientName).Contains(LCase(inSearchFor)) Then oResults.Add(oClient) End If Next Return oResults End Function Function ClientName(inClientID As Integer) As String Dim sClientName As String = "" Dim oClient As DataModels.Client For Each oClient In Me.Clients If oClient.ClientID = inClientID Then sClientName = oClient.ClientName Exit For End If Next Return sClientName End Function ViewModel: Public Class ClientSearch Property SearchText As String Property SearchResults As List(Of DataModels.Client) End Class Reference Client Name Number of Vacancies per Client Link for the vacancies <%: oClient.ClientID%> <%: oClient.ClientName%> <%: oClient.NumberOfVacancies%> <%: Html.ActionLink("The Number of Vacancies", "IndexSearchNumOfVacancies", "ClientSearch")%>
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)