MVC3 designpattern
Hej eksperter,Jeg har siddet og leget med MVC3 arkitekturen i C# og synes egentligt på nogen punkter det er meget smart. Jeg kan se at der er kommet en opsætning i form af Razor og så den traditionelle aspx. Jeg kører med aspx og jeg ved ikke rigtigt hvorfor, jeg læste om at Razors performance var langt bedre, men nå nu til sagen.
Jeg har oprettet et view som jeg ikke rigtigt kan få til at gøre som jeg gerne vil. Jeg har lidt problemer med at trække variabler ud af min model fordi der er en nullreferenceexception.
Tanken bag programmet er Datalag -> BusinessLag -> MVC lag
Problematikken ligger i at jeg henter et dataset med 4 informationer i om en nyhed og laver den om til en List
Kode
Model klassen ganske simpel
public class ModelNews
{
public string Headline { get; set; }
public string Article { get; set; }
public string User { get; set; }
public string Date { get; set; }
}
Min controller
public ActionResult GetNews()
{
//Henter fra business
News getNews = new News();
DataSet data = getNews.GetNews();
List<ModelNews> NewsPage = new List<ModelNews>();
foreach (DataRow dr in data.Tables[0].Rows)
{
ModelNews model = new ModelNews() ;
model.Article = dr[0].ToString();
model.Date = dr[1].ToString();
model.Headline = dr[2].ToString();
model.User = dr[3].ToString();
NewsPage.Add(model);
}
//Mit view
return View("HomePageNews");
}
View
<% @Page MasterPageFile="~/Views/Shared/Site.Master" Language="C#" Inherits="ViewPage<IEnumerable<Book.WiseBook.Models.ModelsNews>>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Home Page
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<table>
<% foreach (var item in Model) { %>
<tr>
<td>
<%= Html.Encode(item.Article) %>
</td>
<td>
<%= Html.Encode(item.Title) %>
</td>
<% } %>
</table>
</asp:Content>
Mit problem er at når jeg looper igennem, looper jeg igennem min model og ikke min controller hvor jeg pakker min data ud tror jeg, hvordan kan man kringle denne?
Jeg refererer jo til ViewPage<IEnumerable<Book.WiseBook.Models.ModelsNews>> så jeg henter en klasse der er tom hvor mine udpakkede data ligger i min controller..