Laden...

[ASP.NET] Bilder neben- und untereinander anzeigen. Welches Control?

Erstellt von ravel vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.595 Views
R
ravel Themenstarter:in
169 Beiträge seit 2007
vor 12 Jahren
[ASP.NET] Bilder neben- und untereinander anzeigen. Welches Control?

Hi,

ich möchte eine art Gallerie realisieren mit einfachsten Mitteln.
Ich habe Bilder-Informationen in einer Datenbank und die zugehörigen Bilder auf der Festplatte.

Ich möchte Bilder nebeneinander bzw. wenn eine Zeile voll ist (meine Webseite hat eine fixe Breite) untereinander anzeigen.

Meine Frage ist, welches Control eignet sich zum Anzeigen der Bilder am Besten? Ein Gridview kann ja standardmäßig nur Einträge untereinander anzeigen oder?
Wie wäre es mit einem FormView?
Oder sollte ich per Placeholder die Controls selber dynamisch auf der Seite erzeugen? (Ich bräuchte eigentlich nur ein Image und ein Label pro Bilder-Datensatz).

Vielen Dank im Voraus

16.834 Beiträge seit 2008
vor 12 Jahren

Also laut meinem Verständnis ist hier eine ASP-seitige Anordnung falsch bzw nicht optimal.
Grund: der Server weiß zum Zeitpunkt des Generierens nicht, wie die Auflösung des Clients ist; sprich wie viele nebeneinander hinpassen, ohne eine neue Zeile beginnt werden muss.

Stattdessen benutzt man bei HTML Listen-Elemente mit div-Containern, die das CSS-Attribut "display: inline-block".
Ein Beispiel, wie das funktioniert, sieht Du zum Beispiel unter How to make a “wrappanel” in html?

R
ravel Themenstarter:in
169 Beiträge seit 2007
vor 12 Jahren

Ich hätte vielleicht dazu sagen sollen, dass ich sehr wohl weiß wie groß meine Bilder (Thumbnails sind alle gleich groß) sind. Außerdem hat meine Seite eine fixe Breite. Serverseitig kann ich also schon ausrechnen, wieviele Bilder nebeneinander passen und wann eine neue Zeile begonnen werden muss.

Oder versteh ich da etwas falsch?

129 Beiträge seit 2007
vor 12 Jahren

Es geht sich darum das wenn du 1280 px x 1024 px hast und der Client aber nur 1024 x 728 oder größer das die Anordnung dadurch durcheinander geraten kann.

Etwas anderes ist es jedoch wenn die Seite eine feste Breite hat.
Sprich hat der Client eine kleinere Auflösung das er dann Scrollbalken hat.

Ist machbar aber nicht mehr so wirklich zu empfehlen 😃

16.834 Beiträge seit 2008
vor 12 Jahren

Du solltest dynamische, grafische Anordnungen im Web-Bereich absolut immer dem Client überlassen - und nicht auf dem Server ausrechnen.
Wenn Du weißt, dass Du zB. 4 Bilder nebeneinander sind, ist das was anderes - Du willst aber quasi auf die Breite des Clients agieren.

Unterm Strich wird auch das ganze deutlich performanter sein.

R
ravel Themenstarter:in
169 Beiträge seit 2007
vor 12 Jahren

Alles klar. Besten Dank erstmal an euch beide!

691 Beiträge seit 2007
vor 12 Jahren

Je nachdem was du genau vor hast, und die maximale Breite nicht zu hoch ist, kannst du es so machen, wie ursprünglich gewollt: Anzahl der Items pro Reihe bestimmen, und danach eine neue Reihe.

Das kannst du entweder händisch machen, indem du dir die passenden HTML Code für das Layout und jedes Control generierst, oder du verwendest das DataList Control mit entsprechenem Wert für die RepeatColumns-Property.

Ich gehe jetzt davon aus, das du WebForms verwendest, weil du das Stichwort MVC nicht explizit genannt hast.

mit freundlichen Grüßen,
Tomot

Projekte: www.gesellschaftsspieler-gesucht.de