Re: Pfade und der Development Server



Am Thu, 4 Oct 2007 13:40:36 +0200 schrieb Stefan Falz [MVP]:

Ersterses hat langfristig Vorteile - aber Letzteres ist letztendlich
sicherer. Man wird das Nicht-Gelernte schon nochmal nachholen, beim nächten
Projekt machen wir alles anders...

Was aus Erfahrung so gut wie nie passieren wird (von wegen "beim nächsten
Projekt ..." :)


Eigentlich schon. Wenn ich mal in meiner C++ - Software wühlen muss, die
ich ganz am Anfang, nachdem wir von Turbo-Pascal umgestiegen sind, sehe ich
schon ganz deutliche Unterschiede zu heute.

Analog mit der .NET-Plattform. Als ich vor 1 Jahr damit angefangen hatte,
war ich überall unsicher. Lieber das machen, was man kannte, auch wenns in
C#/.NET anders und besser gienge.... heute sieht das komplett anders aus.

Wohl ebenso wirds mit ASP.NET sein, mit dem ich mich nun seit 3 Wochen
beschäftigen darf/will. Könnte mit gut vorstellen, dass ich das ganze
Projekt im nächsten Revisionszyklus nochmal neu hinschreibe....


Weiß nicht, ob Ableitung hier hilft. Die grundsätzliche Problematik ist,
dass der Repeater die Schleife über den Container mit Daten intern hat, und
alles mit ItemTemplate (bzw. AlternatTemplate) macht.

Es gibt ja auch andere Controls, die was ähnliches bieten. Allerdings würde
es in dem Fall ausreichen, ein eigenes Content Control zu schreiben, dass du
im Repeater bindest. Die Art und Weise der Ausgabe kannst Du dann im Control
selbst bestimmen.

Ja, stimmt in der Tat. Hatte daran nicht gedacht. Ist eben eine
Indirektionsstufe mehr... Wie gesagt, beim nächsten Mal :-)



Weitere Sache: Im Footer hätte ich gerne einen Mechanismus, der mit eine
Paginierung erlaubt. Dazu muss ich eine gewisse Buchführung haben (wo bin
ich, nächste Seite, erste/letzteSeite) etc. Hinzu kommt, dass ich später
mal ein Delayload haben möchte, d.h. Daten für angeforderte Seiten erst
dann aus der Datenbank hole, wenn der Nutzer die auch wirklich sehen will.

Paging ist eine Sache, die wirklich nicht allzu toll gelöst ist. Um Daten
erst auf Abruf aus einer Datenquelle zu holen, sind je nach Datenquelle
manuelle Eingriffe nötig.

..... Und dein Argument hier ist was, bitte?

Wie mache ichs mit dem Repeater (oder einem anderen Control, wenns sein
muss), wollen wir wissen.



Desweiteren möchte ich gerne meine Header, diversen Items und Footer in
Designview sehen können - allein um z.B. CSS-Styles anwenden zu können.
Geht mit dem derzeitigen Repeater eher schlecht.

Da empfehlen sich eigene Controls. Aber dafür eine WebForm zu laden und zu
zerlegen finde ich persönlich immer noch ziemlich daneben.

Warum bitte? Ist mit 3 Zeilen Code erledigt. Schreiben von eigenen
Controls, entsprechende Verkabelung etc., nur damit ich für's Iterieren
eines Containers den Repeater (o.ä.) nehem kann, scheint mir hingegen etwas
deplaziert. Aber wie gesagt, bin noch neu, vielleicht ändert sich das ja
noch. Argumente werden also gesucht.




Von daher war meine Entscheidung, eine ASP.NET-Datei mit Templates zu
haben, nicht falsch.

IMO schon, weil Sie gegen das Grundprinzip von ASP.NET arbeitet. Erstell
dir ein paar CustomControls, die kannst Du _wirklich_ sinnvoll einsetzen.

Sorry, das ist kein Argument, das ich nachvollziehen kann. "Verstoß gegen
Prinzipien" (ohne objektive Merkmale) reicht nicht. Das man das mit Custom
Controls machen kann, ist ja unbestritten - aber warum ist es *besser* ?




Es ist doch wirklich kein Problem, eine Datei
einzulesen, in einige Strings zu zerlegen (für jede Itemart einen), ein
paar Ersetzungen zu machen, und in einer Schleife über einen Container
rauszuschreiben? Nicht wirklich schwierig - und für mich wichtig: vom
Risiko her minimal, d.h. ich weiß, dass ich es zum Termin schaffen kann...

Den ganzen Aufwand hättest Du mit eigenen Controls gar nicht. Und die bieten
dir auch (wenns richtig gemacht wird) komplette Designerunterstützung, Intelli-
sense, lassen sich als Objekt behandeln, ...

schon. Aber sie müssen erst mal hingeschrieben werden. Das nur zum Thema
"den Aufwand hättest du gar nicht". Ein usercontrol rendert doch auch nur
Markup auf den Response-Stream .... bei mit kommt das eben von einer Datei
auf Platte (oder auch cache), beim usercontrol stehts halt im Code. Dort
muss man dann das Markup mit C#-Mitteln zusammenbauen. Genau das wollte ich
eigentlich vermeiden, und habe darum das Markup auf der Platte.

Greetz
Paule


.



Relevant Pages

  • Re: Dynamic DB lookup/eval to serve a user control bound to a repeater
    ... attached to ImageRepeater is intended to tell the repeater what ContentIDs ... "ImageBox" controls, another control I've made. ... initializing and databinding sequence in ASP.NET page. ... usercontrol defined in Repeater's ItemTemplate, ...
    (microsoft.public.dotnet.framework.aspnet)
  • =?iso-8859-1?q?Server_Controls_dynamisch_zu_einem_Repeater_hinzuf=FCgen?=
    ... ich versuche, zur Laufzeit Controls zu einem UserControl, das von einem ... Repeater abgeleitet ist, hinzuzufügen. ... Ausserdem eine ItemTemplate class für das repeater control: ... container) füge ich zum container in einer Schleife: ...
    (microsoft.public.de.german.entwickler.dotnet.asp)
  • Re: Repeating section control in ASP.NET
    ... > I did this with a DataGrid control and a custom collection. ... He was talking about a group of controls ... >> You could create a DataSet and a Repeater. ... >> have a blank row and it will display the same template as your populated ...
    (microsoft.public.dotnet.framework.aspnet.webcontrols)
  • Re: Repeating section control in ASP.NET
    ... > I did this with a DataGrid control and a custom collection. ... He was talking about a group of controls ... >> You could create a DataSet and a Repeater. ... >> have a blank row and it will display the same template as your populated ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: OCX aktualisieren (comctl32.ocx > mscomctl.ocx) ?
    ... da die Instanz des Controls erst zur Laufzeit ... die Eigenschaften die Du eingestellt hast brauchen keinen Verweis ... bei einer Kopie den Verweis auf das ocx und kompiliere Dein Projekt, ... musst Du als Public Const im Projekt selber anlegen. ...
    (microsoft.public.de.access)

Loading