locked
Bitte um HILFE bei der ClubSite4Fun

    Frage

  •  

    Ich habe die Datenbank um eine Tabelle erweitert (DailyEntry). Diese Tabelle hat haargenau die gleiche Struktur wie die Tabelle NewsEntry. Nun habe die beiden Seiten (EditNews.aspx und EditNews.aspx.vb) nachgebaut und angepasst - die Seiten funktionieren, heissen EditDaily.aspx und EditDaily.aspx.vb, ich kann damit in die Tabelle schreiben.

     

    Nun zum Problem: die News - Daten werden in einem speziellen Control dargestellt (coding4Fun.Web.UI.Controls.News). Wie komme ich zu diesem Control und wie kann ich dieses ändern, sodass die Daten aus der neuen Tabelle DailyEntry angezeigt werden.

     

    Ich bitte Euch um Hilfe, da ich bei diesem Projekt irrsinnig unter Zeitdruck stehe und nicht weiter komme.

     

    Vielen Dank und liebe Grüsse aus Wien

     

    Reinhard Alexander Kiss

     

     

    PS: wo gibts diesen geilen Text-Editor, in den man hier reinschreibt ???

    Montag, 30. April 2007 17:00

Alle Antworten

  • Hallo Reinhard,

     

    das Control ist leider nicht im Sourcecode verfübar. Ich weiß auch nicht, ob und wenn ja, wann sich dies ändern wird.

     

    Folgendes kann ich Dir zur Lösung Deines Problems vorschlagen (ungetestet, müsste jedoch funktionieren):

     

    a) Neues UserControl erstellen, Name: EditDaily.ascx.

    b) Auf das Control ein MultiViewControl platzieren mit zwei Views, "SummaryView" und "DetailView". Die "ActiveViewIndex" Property des MultiViewControls ist auf "0" gesetzt.

    c) "SummaryView" enthält einen Repeater, der alle aktuellen Newseinträge darstellt. Das zugehörige SQL Statement lautet: "SELECT [NewsEntryId], [NewsEntryGuid], [NewsEntryTitle], [NewsEntrySubtitle],   [NewsEntryText], [NewsEntryTeaser], [NewsEntryPublishStartDate], [NewsEntryPublishEndDate], [NewsEntryModified], [NewsEntryModifiedBy], [NewsEntryCreated], [NewsEntryCreatedBy] FROM [DailyEntry] WHERE [NewsEntryPublishStartDate]<=@CurrentDate AND [NewsEntryPublishEndDate] >= @CurrentDate ORDER BY [NewsEntryPublishStartDate] DESC"
    Der Wert des @CurrentDate Parameters ist das heutige Datum.

    d) Das Styling in der ItemTemplate des Repeaters kannst/musst Du aus dem HTML der existierenden Anwendung erschließen.

    e) Der Link zur Detailansicht eines NewsItems muss den Wert des Feldes "NewsEntryGuid" als QueryString-Parameter enthalten. Der Name des QueryString-Parameters sollte z. B. "id" lauten.

    f) "DetailView" stellt ein einzelnes NewsItem dar, evtl. in einer FormView, kann aber auch mit Labels etc. realisiert werden. Die SQL Query hat das Feld "NewsEntryGuid" aus der Datenbank als Parameter. Diese Guid entstammt dem QueryString-Parameter namens "id" aus Schritt e).

    g) im Page_Load des UserControls wird überprüft, ob der QueryString Parameter "id" vorhanden ist und eine GUID übergibt. Falls ja, wird "ActiveViewIndex" des MultiViewControls auf 1 gesetzt, der Parameter ausgelesen und an die DB geschickt, um das einzelne NewsItem auszulesen und in der "DetailView" anzuzeigen.

    h) das fertige Control aus Schritt a bis g kann jetzt auf eine beliebige Seite -- auch die Homepage -- gesetzt werden.

     

    Damit baust Du die Funktionalität des existierenden COntrols witgehend nach. Hoffe, das hilft Dir (noch rechtzeitig) weiter.

     

    Gruß,

     

    Hardy

     

    PS: der Text-Editor funktioniert nicht in Firefox, ist also weniger cool als er sein könnte. ;-) Eine Variante, die auch in anderen Browsern funktioniert, findest Du beispielsweise unter http://sourceforge.net/projects/tinymce/.

    Dienstag, 8. Mai 2007 14:07
  • Hallo Hardy,

     

    echt ***, dass Du dir die Mühe gemacht hast. Ich bedanke mich 1000000000mal. Werde es testen und berichten.

     

    lg

    aus wien

     

    Reinhard

    Dienstag, 8. Mai 2007 14:54