2010-11-21 12 views
1

Mit asp.net-4.0 passieren Ich habe diese:Wie eine Liste in asp.net-MVC2

slideshow.aspx 
<div class="wrapCarousel"> 
    <div class="Carousel"> 
     <% foreach(var image in Images) { %> 
     <div class="placeImages"> 
     <img width="150px" height="150px" src="../Img/<%=image.TnImg%>" alt="<%=image.Name%>" /> 
     <div class="imageText"> 
     <%=image.Name%> 
     </div> 
     </div> 
     <% } %> 
    </div> 

Und dann Bilder wie diese slideshow.aspx.cs in der Code-behind war:

Jetzt mit asp.net-MVC2 Ich habe keinen Code hinter, so kann ich nicht auf Bilder zugreifen wie zuvor und einige, wie stattdessen müssen Sie es an die ASPX-Datei übergeben.

Wie wird das gemacht?

Dank M

Antwort

5

Sie würden eine stark typisierte Ansicht verwenden und das Modell in die Ansicht von der Steuerung übergeben.

Sie können einige Details here finden.

Sie dann etwas nutzen würde wie ...

<% foreach(var image in Model.Images) { %> 

    <div><%= image.Name %></div> 

<% } %> 

Ihr Controller wäre so etwas wie folgt aussehen, wo Sie eine Liste der Bilder aus einer externen Quelle erhalten kann.

public ActionResult Index() 
{ 
    ImageViewModel imageViewModel = new ImageViewModel(); 
    imageViewModel.Images = _imageRepository.GetImages(); 

    return View ("Index", imageViewModel);  

} 

In dem obigen Code, den Sie nur die unterhalb der Ansicht unten, mit dem Anruf allerdings explizit sein verwenden könnte

return View (imageViewModel); 

Ich ziehe zu machen und den Namen der Ansicht angeben (Selbst zu machen obwohl sie der gleiche Name der aktuellen Controller-Aktion ist, ich glaube, es ist besser) liest

return View ("Index", imageViewModel); 
+0

Also in diesem Fall, was ImageViewModel ist() und sollen wie dieses „foreach (var Bild in Model.imageViewModel die foreach sein) " dann? – Mikael

+0

Wenn Sie Ihre Ansicht stark als ImageViewModel-Typ eingeben und dieser Typ über die Eigenschaft Images verfügt, würden Sie auf die Daten in Ihrer Ansicht mit Model.Images zugreifen. – Matt

+0

'ImageViewModel' ist eine von Ihnen erstellte Klasse mit der Eigenschaft' Images'. In der View verweisen Sie dann auf die übergebene Instanz der Modellklasse als 'Model'. – svick