Я пытаюсь изучить ASP.NET MVC.
Пожалуйста, потерпите меня, но asp.net mvc - это первая инфраструктура mvc, которую я когда-либо пытался изучить. Я планирую узнать больше о MVC Framework на разных языках, но сейчас я получил asp.net MVC.
Я довольно хорошо разбираюсь в формах asp.net и люблю их, но хотел бы иметь еще один инструмент asp.net, который дает мне больше свободы с HTML, JavaScript и Ajax.
Вопрос, который у меня есть, заключается в том, как используются частичные виды?
Насколько я понимаю, просмотр всех видеороликов заключается в том, что модель для базы данных, контроллер для действий, бизнес-логика и представление - для дисплея.
Однако у меня есть код, который не работает, вид указывает на модель, а не на то, что возвращается из контроллера (пытается вернуть частичное представление). Я был бы очень признателен, если бы кто-нибудь указал мне правильное направление и объяснил, что продолжается.
Ниже - мой простой код, который не работает:
PartialView
<%@ Control Language="VB" Inherits="System.Web.Mvc.ViewUserControl(Of IEnumerable (Of MvcPortfolio.Defaultdb))" %>
<p>
<%=Html.ActionLink("Create New", "Create")%>
</p>
<table>
<tr>
<th></th>
</tr>
<% For Each item In Model%>
<tr>
<td>
<%= item. %>
</td>
</tr>
<% Next%>
</table>
Модель
Public Function getProjects() As List(Of portfolio_project)
Using myPortfolio As New PortfolioDataContext
Try
Dim projects = (From p In myPortfolio.portfolio_projects _
Select p).Take(5)
Return projects
Catch ex As Exception
Return Nothing
End Try
End Using
End Function
Controler:
Индекс функции () как ActionResult
Dim myPortfolio As New Defaultdb ' my controler
Dim projectsList As List(Of portfolio_project) = myPortfolio.getProjects() 'getting list of all the projects in news
Return PartialView(projectsList) 'returning partial view.hopefully will work
End Function
и главная страница:
<%@ Page Language="VB" MasterPageFile="~/Views/Shared/Main.Master" Inherits="System.Web.Mvc.ViewPage" %>
<%@ Import Namespace="MvcPortfolio" %>
<asp:Content ID="projectsContent" runat="server" ContentPlaceHolderID="newsContent">
<%Html.RenderPartial("Indexprojects")%>
</asp:Content>
Может кто-нибудь объяснить мне, как заставить этот код работать, поэтому у меня будет нормальный рабочий пример.
Я хочу использовать частичное представление, потому что я хочу, чтобы повторяющиеся элементы помещались в пользовательский элемент управления, например, кусочки.
Заранее спасибо.