Shadowman Geschrieben 25. Juli 2014 Teilen Geschrieben 25. Juli 2014 Ich habe in meiner Datenbank eine Tabelle mit Gruppen, welche ich auf einer aspx Seite ausgeben möchte. Dies habe ich mit einer asp:Table versucht, wo ich aber feststellen musste, dass es in ASP-Elementen nicht möglich ist das Ergebnis meines Querys zeilenweise innerhalb der Seite zu durchlaufen und währenddessen neue Zeilen in die asp:Table Element zu schreiben. Ich habe mir dann etwas zu GridViews angeguckt und auch hier feststellen müssen, dass ich das irgendwie mit der DataSource nicht wirklich hinbekomme. <% oracle db = new oracle(); System.Data.Common.DbDataReader group = null; db.prepare("SELECT * FROM zdvs_groups ORDER BY name ASC"); db.execute(); while(db.fetch(ref group)) { %> <!-- hier soll die Zeile ausgegeben werden --> <% } db.close(); %> Solchen Programmcode kann man laut einigen Quellen nicht innerhalb von Elementen ausführen, welche runat="server" als Parameter haben. Jetzt habe ich versucht das ganze in einer normalen HTML Table darzustellen, bekomme jetzt aber den Fehler "Der Typ- oder Namespacename "global_asax" ist im Namespace "ASP" nicht vorhanden." Bei einer .master Seite hat man die Möglichkeit in einer .cs Datei im Hintergrund zu steuern und Felder zu befüllen. Dies geht aber nicht bei normalen Seiten (zumindest finde ich sowas nicht). Kann mir bitte jemand einen Tipp geben, wie ich die Befüllung aus der View rausnehmen kann und es endlich hinbekomme eine Darstellung der Gruppen zu schaffen? Gruß Shadowman Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lbm1305 Geschrieben 25. Juli 2014 Teilen Geschrieben 25. Juli 2014 Uhhh...Die aspx-Datei sollte nur den Code für die Darstellung beinhalten. Jede aspx-Datei hat eine Code-Behind-Datei, in der man die Steuerelemente, die mit dem 'runat="server"' ausgestattet sind, über die ID ansprechen kann. Der Aufruf der Daten und das Zuweisen der Daten sollte also im Hintergrund passieren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lbm1305 Geschrieben 25. Juli 2014 Teilen Geschrieben 25. Juli 2014 Hier ein schnelles Beispiel: public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { repeater1.DataSource = LoadPeople(); repeater1.DataBind(); } private IEnumerable<Person> LoadPeople() { return new List<Person> { new Person { FirstName = "Hans", LastName = "Wurst" }, new Person { FirstName = "Peter", LastName = "Pan" } }; } } public class Person { public string FirstName { get; set; } public string LastName { get; set; } } <ul> <asp:Repeater runat="server" ID="repeater1" > <ItemTemplate> <li><%# ((Person)Container.DataItem).FirstName %></li> </ItemTemplate> </asp:Repeater> </ul> es gibt aber noch genügend andere datengebundene steuerelemente, die zur darstellung genutzt werden können. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 25. Juli 2014 Autor Teilen Geschrieben 25. Juli 2014 Ja ich möchte den Code auch garnicht in der aspx Seite haben, da sonst die Verwendung vom MVC Pattern hinfällig wäre. Das Problem ist ja eben die code behind Datei, welche nicht vorhanden ist. Ich werde das gleich nochmal genauer prüfen. Vielleicht habe ich auch was falsch gemacht. Ich werde dann genau beschreiben was ich mache und was ich finde, damit man es besser nachvollziehen kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 25. Juli 2014 Autor Teilen Geschrieben 25. Juli 2014 (bearbeitet) Ich glaube ich habe mein Problem gefunden. Ich habe keine WebForms erstellt, sondern MVC 2 Seiten, welche keine code behind Datei haben. Genau so habe ich mir das vorgestellt. Danke für diesen Tipp! Allerdings habe ich bei der Umstellung das Problem, dass ich jetzt folgenden Fehler beim Aufruf der Seite bekomme: Die Ansicht bei "~/Views/Admin/Group.aspx" muss von ViewPage, ViewPage<TViewData>, ViewUserControl oder ViewUserControl<TViewData> abgeleitet werden. Das liest sich, als wenn ich jetzt am Controller auch etwas umstellen muss. Meine cs Datei sieht ähnlich aus wie deine, bis auf dass ich noch keine Funktionen hinterlegt habe. Der Controller sieht noch so aus, wie er für die normale View war: // // GET: /Admin/Group public ActionResult Group() { return View(); } Bearbeitet 25. Juli 2014 von Shadowman Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lbm1305 Geschrieben 25. Juli 2014 Teilen Geschrieben 25. Juli 2014 Hast Du eine ASP.NET MVC oder ASP.NET WebForms Anwendung? Im ersten Post schreib Du etwas von 'asp:' Tags und jetzt etwas von MVC. Bei MVC brauchst Du keine Benutzersteuerelemente von ASP.NET Mein Beispiel ist für eine WebForms-Anwednung. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 25. Juli 2014 Autor Teilen Geschrieben 25. Juli 2014 Ich habe eine MVC Anwendung. Innerhalb dieser MVC Anwendung verwende ich in den aspx Dateien 'asp:' Tags. Mit der Aussage, dass ich bei ASP.NET MVC keine Benutzersteuerelemente von ASP.NET benötige hast du mich durcheinander gebracht. Ich Brauche zwingend Elemente, welche ich dynamisch füllen und damit arbeiten kann. Wenn ich jetzt Funktionen hinterlegen möchte, muss ich die warscheinlich in der entsprechenden Controller Klasse hinterlegen (richtig?). Leider habe ich genau zu diesem Thema keinerlei Anleitungen gefunden, weswegen dann die Vermutung aufkam, dass es anders gehen müsste. Kannst du mir dazu vielleicht eine gute Seite schicken, auf der die genaue Verwendung des Controllers und das ansteuern von Elementen der View beschrieben wird, oder das vielleicht sogar erklären, wenn du Zeit hast? Mfg Shadowman Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lbm1305 Geschrieben 25. Juli 2014 Teilen Geschrieben 25. Juli 2014 (bearbeitet) Anbei das Beispiel mit einer ASP.NET MVC Anwendung // Controller public class ValuesController : Controller { public ActionResult Index() { var persons = LoadPeople(); return View(persons); } private IEnumerable<Person> LoadPeople() { return new List<Person> { new Person { FirstName = "Hans", LastName = "Wurst" }, new Person { FirstName = "Peter", LastName = "Pan" } }; } } public class Person { public string FirstName { get; set; } public string LastName { get; set; } } // View <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<System.Collections.Generic.IEnumerable<MvcApplication1.Controllers.Person>>" %> <!DOCTYPE html> <html> <head runat="server"> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> <div> <ul> <% foreach (var person in Model) { %> <li> <span><%= person.FirstName %> <%= person.LastName %></span> </li> <% } %> </ul> </div> </body> </html> Da ich eher die Razor-Engine bevorzuge, falls wir mal was mit MVC machen, kann es sein, die Aussage von mir betreffs den Steuerelementen von ASP.NET nicht 100%ig richtig ist :-) Als erste Anlaufstelle würde ich die Seite asp.net empfehlen. Ansonsten Microsoft Virtual Academy Bearbeitet 25. Juli 2014 von lbm1305 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SilentDemise Geschrieben 25. Juli 2014 Teilen Geschrieben 25. Juli 2014 Seit Visual Studio kannst du mittels One ASP.NET MVC und WebForms mischen, was wohl hier der Fall ist. Ich würde dir raten dich auf eins zu beschränken und MVC ist hier der wohl zukunftsweisendere Weg. Keine Angst: du kannst auch mit MVC dynamische Strukturen implementieren. Ich würde dir aber raten, dich vorher einmal intensiver mit dem Thema zu beschäftigen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 25. Juli 2014 Autor Teilen Geschrieben 25. Juli 2014 Wie bereits gesagt, ich brauche vernünftige Quellen und nicht das Kraut&Rüben Konzept, was auf den meisten Seiten herrscht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sas86ks Geschrieben 25. Juli 2014 Teilen Geschrieben 25. Juli 2014 ...vernünftige Quellen... MSDN? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lbm1305 Geschrieben 25. Juli 2014 Teilen Geschrieben 25. Juli 2014 Die Seite von ASP.NET erklärt viel anhand von Beispielprojekten. Verweist auch auf kostenlose Video-Serien bei Pluralsight. MVA => Video-Serien, die viele Themen abdecken, so auch ASP.NET MVC Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sas86ks Geschrieben 25. Juli 2014 Teilen Geschrieben 25. Juli 2014 Für den ersten Überblick: ASP.NET Model View Controller (MVC 4) App Development - Microsoft Virtual Academy Das ist natürlich nur MVC, aber dort sollte es auch andere Videos geben Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shadowman Geschrieben 28. Juli 2014 Autor Teilen Geschrieben 28. Juli 2014 super, vielen dank für die Infos/Seite. Da habe ich dann erstmal was zu tun Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.