Benutzer mit den meisten Antworten
Wochenplaner in ASP.NET / C#

Frage
-
Hallo,
ich suche einen Wochenplaner, Beispiel, Ansatzpunkte.
Veranstaltung 1 : n Termin
Informatik 8.1.2015, 15.1.2015
Mathematik 7.1.2015, 9.1.2015
Physik 7.1.2015, 10.1.2015
Dabei soll die Eingabe visuell übers Web dargestellt werden.
Datagrid ähnlich
Mo, Di, Mi, Do, Fr, Sa, So
Woche 1 Mathe
Woche 2 Physik
Woche 3 Auswahl über Combobox oder manuelle Eingabe
Datenbank SQL Server
Datenbank Dataset über XML Datei
Hat hier jemand Beispiele, Wege aufzuzeigen?
Danke im Voraus und einen guten Rutsch noch....
Viele Grüße Oliver
Antworten
-
Hallo zusammen,
die Datenbank aufzubauen sehe ich nicht als Problem. Dafür hat Visual Studio tolle Designer, die auch in den Tutorials mit vorkommen. Auch eine verknüpfte Abfrage über mehrere Tabellen kommt in den Tutorials vor.Ich sehe eher als Problem, das du bisher nie eine Webanwendung geschrieben hast.
In den Schritten 1 bis 11 unter Getting Started wird eine Filmverwaltung aufgebaut, was sich relativ leicht auf dein Problem umbauen lassen sollte. Dort lernst du erstmal alles relevante kennen. HTML- und CSS Kenntnisse werden allerdings vorausgesetzt. Für den Anfang ist es aber meistens selbst erklärend. Gucke ggf. ins <!selfhtml.wiki/>Wenn du dann mehr zu Datenbanken mit MVC wissen willst, kannst du dir noch Getting Started with EF6 ansehen, usw.
PS: Ich würde zunächst eine Datenbank benutzen. Später kannst du das immer noch umbauen. Solange du die Select- und Where-Methoden von LINQ kennst, sollte auch am EF nichts weiter schwer sein.
Tom Lambert - C# MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert O. Stippe Samstag, 10. Januar 2015 11:00
Alle Antworten
-
Wenn die Tabelle über das Internet angezeigt werden soll, dann verwendest du doch sicherlich HTML?
Eine Tabelle kann man in HTML mit dem Table-Tag erstellen.
Die einfachste Möglichkeit die Termine zu speichern ist eine Tabelle (intern) mit zwei Spalten: Name | Datum.
Die Woche kannst du dann im übrigens schnell berechnen, abhängig davon, ob du die Kalenderwoche wissen willst, oder die relative Woche (So etwas wie: Diese Woche, nächste Woche...).
Die Kalenderwoche kannst du wie folgt bestimmen: Calendar.GetWeekOfYear-Methode
© 2015 Thomas Roskop
-
Wenn die Tabelle über das Internet angezeigt werden soll, dann verwendest du doch sicherlich HTML?
Das Ziel ist es diese Anwendung in ASP.NET zu adaptieren. Also C# und ASP.NET.
Also ich gebe eine Internetadresse ein. Danach soll ich die Möglichkeiten haben, den Plan auszufüllen.
-
Hallo,
mit was willst du denn genau arbeiten?Ich persönlich bin ziemlich von MVC überzeugt, auch wenn es zunächst ein wenig Einarbeitungszeit kostet. Dafür kannst du dir diese sehr ausführliche Tutorial Reihe ansehen.
Dabei erlernst du auch alle Fähigkeiten um Datenbanken etc. abzufragen. Auch ein Benutzer-Verwaltungs-System ist enthalten.
Über die Razor-Syntax kannst du dann einfach den HTML-Code erzeugen. Dort brauchst du dann auch die von Thomas angesprochenen Tags.
Tom Lambert - C# MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets -
Hallo,
ASP.NET besitzt sehr wohl einen HTML Teil (das, was der Browser anzeigt.) Du könntest doch einfach dynamisch den Inhalt der HTML-Tabelle beim Laden ändern und vorbereiten.
Du hast ja auch geschrieben: "Dabei soll die Eingabe visuell übers Web dargestellt werden."
© 2015 Thomas Roskop
-
Die ASP.NET Table würde dann eine klassische ASP.NET Table erfordern. Damit kannst du es natürlich auch umsetzen. Nur ich finde eine MVC Webseite deutlich übersichtlicher.
Der Vorteil wäre allerdings, dass du dort sicherlich weniger Einarbeitungszeit brauchst. Aber auch dazu gibt es eine sehr ausführliche Tutorial-Reihe: http://www.asp.net/web-forms
Tom Lambert - C# MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets -
Du hast ja auch geschrieben: "Dabei soll die Eingabe visuell übers Web dargestellt werden."
Hallo Thomas,
ja das ist die Bedingung. Prinzipiell ist da ja nicht schwierig es in rein C# zu machen.
Übers Web habe ich wenig Erfahrung, deshalb such ich hier konkrete Beispiele. In Delphi habe ich den Code ja.
Denkbar wäre ja sicher auch ein Dataset, XML Datei für die Datenhaltung. Würde so was gehen?
Ich benötige eine schnelle verständliche Lösung. Problem: Alle Tutorials kann ich mir vorne weg nicht anschauen. Wenn Du evtl. gezielte Tutorials kennst, die diese Anforderung abdecken macht es sehr wohl Sinn.
Gutes Neues Jahr Allen und Danke vorab für weitere Tipps!
Viele Grüße
- Bearbeitet O. Stippe Donnerstag, 1. Januar 2015 08:04 Format
-
Die ASP.NET Table würde dann eine klassische ASP.NET Table erfordern. Damit kannst du es natürlich auch umsetzen. Nur ich finde eine MVC Webseite deutlich übersichtlicher.
Der Vorteil wäre allerdings, dass du dort sicherlich weniger Einarbeitungszeit brauchst. Aber auch dazu gibt es eine sehr ausführliche Tutorial-Reihe: http://www.asp.net/web-forms
wie gesagt, ich benötige eine schnelle verständliche Lösung. Problem: Alle Tutorials kann ich mir vorne weg nicht anschauen. Wenn Du evtl. gezielte Tutorials kennst, die diese Anforderung abdecken macht es sehr wohl Sinn.
Anforderung - Über Web!
Gängige Tools, Java, .NET etc.
Was ist heutzutage gängiger? MVC Website oder klassische ASP.NET?
Welche Tools eignen sich?
Danke für Deine Antwort. Viele Grüße
-
Ich persönlich bin ziemlich von MVC überzeugt, auch wenn es zunächst ein wenig Einarbeitungszeit kostet. Dafür kannst du dir diese sehr ausführliche Tutorial Reihe ansehen.
Hallo,
http://www.asp.net/mvc/overview/getting-started/database-first-development/setting-up-database
dass man hier Einarbeitungszeit benötigt ist klar. Es gibt so viel, dass man gar nicht weiß wo anfangen. Das ist das Problem. Kannst Du das eingrenzen? Das wäre sehr nett. Evtl. kennst du ein Beispieltutorial, das in diese Richtung geht.
Daten 2 Tabellen 1:n Verknüpfung.
GridControl zum eintragen, wie anfangs aufgezeigt.
Das wäre sehr nett. Viele Grüße
-
Hallo,
die Web-Entwicklung erachte ich selten als sehr schwer, aber man muss trotzdem einiges an Wissen haben. Die Frage ist daher zunächst, was du schon alles kannst.Erforderlich oder mindestens Hilfreich sind:
- HTML und CSS Kenntnisse - damit wird die Oberfläche gestaltet. Es gibt zwar auch diverse Editoren dafür, bei denen man alles wie in MS Word gestalten kann, wenn man aber die Designsprache beherrscht, ist man i.d.R. schneller und der Code wird übersichtlicher.
- JavaScript - falls du etwas zur Laufzeit ändern willst ohne den Server kontaktieren zu müssen. ASP.NET setzt JS an einigen Stellen automatisch ein und grundsätzlich lässt sich dein vorhaben auch ohne JS realisieren. Allerdings wird die Webanwendung dadurch auch langsamer.
- C# - die Serverseitige Programmiersprache um die Datenbank abzufragen etc.
- SQL - Für Datenbankabfragen. Mit dem Entity Framework geht vieles auch direkt in C#. Also entweder LINQ (Language Integrated Query - u.A. in C#) oder SQL.
In der von dir nochmal verlinkten unter-Tutorial-Reihe wird eigentlich genau das von dir gewünschte programmiert. Eine Datentabelle, ähnlich dem DataGrid, mit einer Datenbankanbindung etc.
Die Abfrage der Datenbanken muss nicht viel anders erfolgen, als in einem Desktopprogramm. Die Anzeige jedoch muss Web-Konform sein, weswegen doch einiges anders abläuft.
Die Tutorials auf asp.net sind zwar umfassend und ausführlich, bieten aber auch einen schnellen Einstieg. Nur in wenigen Fällen wirst du schneller zum Ziel kommen.
Tom Lambert - C# MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets -
HTML und CSS Kenntnisse - damit wird die Oberfläche gestaltet. Es gibt zwar auch diverse Editoren dafür, bei denen man alles wie in MS Word gestalten kann, wenn man aber die Designsprache beherrscht, ist man i.d.R. schneller und der Code wird übersichtlicher.
- JavaScript - falls du etwas zur Laufzeit ändern willst ohne den Server kontaktieren zu müssen. ASP.NET setzt JS an einigen Stellen automatisch ein und grundsätzlich lässt sich dein vorhaben auch ohne JS realisieren. Allerdings wird die Webanwendung dadurch auch langsamer.
- C# - die Serverseitige Programmiersprache um die Datenbank abzufragen etc.
- SQL - Für Datenbankabfragen. Mit dem Entity Framework geht vieles auch direkt in C#. Also entweder LINQ (Language Integrated Query - u.A. in C#) oder SQL.
In der von dir nochmal verlinkten unter-Tutorial-Reihe wird eigentlich genau das von dir gewünschte
Hallo,
also ich kann C#, VS2010, Dataset, XML Dateien zur Datenhaltung.
LinQ Grundkenntnisse.
Können wir es so machen, kannst Du mir evtl. ein Link zu einem der vielen Tutorials nennen, die folgendes abdecken. Wie gesagt, zwingend ist die Eingabe übers Web. Man muss es halt auch einmal gemacht haben.
1 Tabelle kann separat befüllt werden.
2 Tabelle wird durch Laufzeit, ausfüllen befüllt.
Später soll es noch die Möglichkeit geben zu dem Termin noch eine Beschreibung, Themen der Vorlesung zu implementieren.
Hört sich einfach an.
Grüße und Danke vorab!
- Bearbeitet O. Stippe Samstag, 10. Januar 2015 10:58 Format
-
Eine ganz triviale Möglichkeit wäre es, was auch die Rechenleistung auf deinem Server minimiert, beim Laden der Seite einen kleinen <script> Tag mit inhalt zu erstellen, welches dann von einem anderen Script beim Benutzer ausgelesen wird.
Alos quasi so:
<script type="text/javascript"> //Standartscript //Liest "termine" aus und erstellt eine dynmaische Tabelle. </script> <!-- Anderes HTML --> <script type="text/javascript"> //dynamisch erstellte Daten var termine = { "Veranstaltungsname A" : "1.1.2015", "Veranstaltungsname B" : "5.1.2015 8:00" //USW }; </script>
Wenn es nicht so viele Benutzer sind, kannst du die Tabelle aus Serverseitig erstellen.
Wenn es ganz viele Beucher sind, dann würde ich schon fast die implementierung von HTTP-REST-APIs vorschlagen.
© 2015 Thomas Roskop
-
Hallo Thomas,
Danke.
Irgendwie komme ich dennoch nicht so recht weiter, was mich ans Ziel bringt.
Kannst Du konkret ein Tutorial empfehlen?
Das Problem ist
A) den richtigen Ansatz zu finden
B) die richtige Vorgehensweise
C) zunächst einfach und dass man es versteht.
Gerne erst mal mit einer Datenbankdatei - wird auch einfach sein.
Microsoft SQL Server-DatenbankdateiGrüße
-
Du möchtest also im Prinzip eine Schul-Stunden-Planer-Anwendung erstellen, das entnehme ich deinem Foto.
Nebenfrage: Du hast 6 Schultage pro Woche? Wow.
Das Datenmodell ist also wie Folgt aufgebaut::
____________________________________________________
| [ NAME ] . . . |
| | |
| v |
| [Wochentag | Uhrzeit | (Länge)] |
| . . . |
|___________________________________________________|
Wenn du es nur einfach machen willst, dann kannst du ruhig eine XML-Datei verwenden. Eine SQL Datenbank wäre schon fast zu viel, weil du ja nicht "hunderte"
Pläne verwalten musst und du auch die Pläne ishc nicht stündlich, sondern (Halb-)Jährig ändern.
Wenn du unbedingt eine solche SQL-Datenbank verwenden willst, dann mache es ruhig.
Wenn du die Werte in deinem Server liest, dann hast du ja im Endeffekt eine "Liste" der Fächer, die jeweil auf eine Liste von Terminen verweisen (siehe Modell).
Beispiel als XML-Datei:
<Root>
<User Name="Mustermann">
<Item Name="Englisch">
<Date DayOfWeek="1" Time="08:00" />
<Date DayOfWeek="2" Time="10:00" />
<Date DayOfWeek="3" Time="08:00" />
</Item>
</User>
</Root>
Wenn du diese Daten nun auf deinem Server hast, dann kannst du eine HTML-Tabelle daraus erstellen.
© 2015 Thomas Roskop
-
Hallo zusammen,
die Datenbank aufzubauen sehe ich nicht als Problem. Dafür hat Visual Studio tolle Designer, die auch in den Tutorials mit vorkommen. Auch eine verknüpfte Abfrage über mehrere Tabellen kommt in den Tutorials vor.Ich sehe eher als Problem, das du bisher nie eine Webanwendung geschrieben hast.
In den Schritten 1 bis 11 unter Getting Started wird eine Filmverwaltung aufgebaut, was sich relativ leicht auf dein Problem umbauen lassen sollte. Dort lernst du erstmal alles relevante kennen. HTML- und CSS Kenntnisse werden allerdings vorausgesetzt. Für den Anfang ist es aber meistens selbst erklärend. Gucke ggf. ins <!selfhtml.wiki/>Wenn du dann mehr zu Datenbanken mit MVC wissen willst, kannst du dir noch Getting Started with EF6 ansehen, usw.
PS: Ich würde zunächst eine Datenbank benutzen. Später kannst du das immer noch umbauen. Solange du die Select- und Where-Methoden von LINQ kennst, sollte auch am EF nichts weiter schwer sein.
Tom Lambert - C# MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert O. Stippe Samstag, 10. Januar 2015 11:00
-
Die Sache bezüglich HTML ist nur wie du es haben willst. Ich nehme an, dass es wie ein normaler Stundenplaner vom Design her aussehen soll. Dann kannst du einfach eine Tabelle in HTML erstellen und die befüllen.
Ich würde dir empfehle erst einmal eine "einfach" Tabelle zu machen, denn dann kannst du später auch mit CSS das verbessern.
Ich habe mir die Mühe gemacht und eine einfach Beispieltabelle erstellt:
<table border="1"> <tr class=""> <th class="HeaderD1"> Montag </th> <th class=""> Dienstag </th> <th class=""> Mittwoch </th> </tr> <tr class=""> <td class=""> 8:00 Mathe </td> <td class=""> 8:00 Englisch </td> <td class=""> 8:00 Religion <!-- Hier ist es 8:00 am Mittwoch --> </td> <!-- ... 6 Einträge - 6 Wochentag --> </tr> <tr class=""> <td class=""> 8:00 Sport </td> <td class=""> 9:00 Mathe </td> <td class=""> 10:00 Deutsch </td> <!-- ... 6 Einträge - 6 Wochentag --> </tr> <!-- ... Max. 9 Stunden pro Tag -> 9 Zeilen (tr = Table Row) --> </table>
Ich würde im Übrigen die Leeren "Class" Bereiche stehen lassen, denn dann kannst du später das ganze einfacher mit CSS stylen.
Versuche auch mal, dass deine Anwendung eine HTML-seite mit osolch eine rTabelle zurück gibt. In der *.aspx Datei kann man ja auch HTML-Programmieren. Und mit dem Zugriff kannst du auch direkt die Inhalte ändern.
© 2015 Thomas Roskop