Laden...

Forenbeiträge von Waschbecken Ingesamt 799 Beiträge

21.08.2006 - 09:35 Uhr

Original von altertoby
2. Genauso oft findet man aber auch, dass das neue Databinding bei Asp.Net 2.0 super sei...

Wenn du einen Monolithen bauen willst ja, ansonsten ist das alles Schrott. Der Code hat anschließend die Wiederverwendbarkeit einer Einwegpfandflasche.

gibts eine Möglichkeit beide Techniken gemeinsam zu nutzen (also mir würde da nur einfallen, dass ich die DAL und BLL normal aufbaue und dann das Result an das DataBound-Control binde...aber das gefällt mir nicht so wirklich (dann nehme ich doch lieber den einfacheren Weg mit dem DataSource-Control))

Ja, ObjectDataSource. Klappt ganz gut.

oder welche Technik sollte man bevorzugen (und warum!)

Ein Thema, auf das du 10 Antworten bekommen wirst, wenn du 9 Leute fragst. Es gibt wirklich viele unterschiedliche, mehr oder weniger abstrakte oder pragmatische Ansätze.

Ich habe für mich derzeit als Lösung für die meisten Anwendungen im Webbereich nen ganz einfachen Ansatz gefunden, der im Prinzip aus 3 Namespaces besteht.

  1. Business Objekte

Hier definiere ich einfach meine "Objekte", oder um weniger abstrakt zu sein, z.B. das Objekt vom Typ Kategorie. Lege also die Klassen mit ihren Eigenschaften an.

  1. Datenzugriffsschicht

Für jeden "Bereich", z.B. Kategorien, hier die entsprechenden Methoden für Update, Insert, Delete usw. Der einzige Ort in der ganzen Applikation, in der Datenbankcode steht. Kann man so aufziehen, dass man unabhängig von der DB ist, was zumindest für MySQL, SQL Server und Oracle mit Stored Procedures funktionieren könnte.

  1. Business Layer

Hier verschmilzt bei mir noch zu viel Frontend mit reiner Geschäftslogik, aber das ist ein Leid begründet im Design von ASP.NET. HIer müsste eigentlich alles passieren, was die App steuer, also auch Validierung usw. Da das aber bereits in ASP.NEt integriert ist, und ich das Ganze nur fürs Web baue, spare ich mir das.

21.08.2006 - 09:27 Uhr

Original von Yoda

und zu empfehlen ist es natürlich auch nicht besonders, vor allem nicht zum Entwickeln.

Warum nicht? 🤔

http://blog.thomasbandt.de/CommentView,guid,5d011d5b-a4f4-478b-ad82-bc11fbfc174e.aspx

21.08.2006 - 09:21 Uhr

Original von blackbrother
Ist es möglich, dass man bei einer Textbox in den Properties vorgibt, dass er zum Schluss der Zeile einen Umbruch macht und nicht dass man weiterschreiben kann. Ziel von mir ist es ein Gästebuch zu schreiben und der gesamte Eintrag soll nicht in einer gesamten Zeile geschrieben, sondern schön nach 30 Zeichen umgebrochen werden.

Verwende eine Textarea, als ASP.NET-Control TextBox mit TextMode="Multiline". Da bekommst du aber keinen Umbruch nach 30 Zeichen hin, den musst du dir schön selbst parsen und erstellen.

Original von blackbrother
Dann ist noch die Frage bezüglich Gästebucheintrag. Ich habe das so gelöst, dass ich eine Gridview hernehme, doch hier habe ich Problem mit der Breite der einzelnen Spalten. Kann man diese irgendwie verändern, denn die EIntragsnummerspalte soll gaaaanz klein sein, wobei die Nachrichtenspalte die größte sein soll. Hier ist auch von WIchtigkeit, dass in der nachrichtenspalte immer nach sagen wir 20 Zeichen ein Umbruch passiert sonst wird bei langen Messages die Page in die Breite gezogen...

GridView lässt sich durch Templates beinahe zu 100% anpassen, ein Blick in die Doku hilft.

20.08.2006 - 22:06 Uhr

Im Prinzip reicht ein Windows Server 2003 Webedition mit SQL Server 2005 Express, und du hast alles an Software was du brauchst, Hardware kannst du beliebig aussuchen.

Ob das unbedingt Vorteile hat - keine Ahnung. Ich sehe hier immer mehr Leute, die sich angelockt durch das Klickibunti von VS 2005 daran machen, ihr durch die Desktopprogrammierung geprägtes Denken auch aufs Web zu drücken, und mehr ist ASP.NET halt nicht - nen serverseitiges Framework um HTML & Co. zu generieren. Vieles was du mit Winforms einfach zusammenklickst, musst du halt für den Browser mühseelig selbst bauen.

20.08.2006 - 22:03 Uhr

Sicher, aber ich weiß grad nicht wo - das ganze Zeug von Microsoft verwendet ja auch deren Modelle.

Zusätzliche Daten werden in 2.0 in Profilen gespeichert - dafür brauchst du neben dem Membership noch nen Profil-Provider (sind nur 2 Methoden, keine Angst), Beispiele findest du in der MSDN.

Vorteil: du kannst alles in ner flachen User-Tabelle speichern.

18.08.2006 - 11:46 Uhr

Also mit 10 MB bei Centron kannste eigentlich ne Menge anfangen ... wenn du mehr willst, würde ich tatsächlich über einen eigenen Server nachdenken - denn auf Dauer kann sich das dann rechnen. Aber du kannst bei Centron auch aufrüsten, ich hab z.B. für nen 10er im Monat noch 20 MB mehr dazu genommen.

Jedenfalls bekommst du in dem Fall dann natürlich nen direkten Zugang zum SQL Server, mit dem du dich im Management Studio verbinden kannst - da kannst du auch im- und vor allem exportieren und deine Datenbank komplett hochladen.

Wenn dein Hoster das nicht anbietet, musst du dich halt mit ihm arrangieren und sehen was für Optionen er anbietet. Aber über sowas macht man sich eigentlich vorher Gedanken, wenn man das Zeug bei ihm mietet.

"Hochladen und es läuft" kann auch funktionieren, allerdings nur mit SQL Server Express - was voraussetzt, dass der Hoster das unterstützt. Und zu empfehlen ist es natürlich auch nicht besonders, vor allem nicht zum Entwickeln.

17.08.2006 - 15:24 Uhr

Original von phunkydizco
Ist das denn bei ASP.NET 1.1 nicht so?

Nein, und z.B. (war es zumindest mal) bei PHP auch nicht.

Vergiss dein Vorhaben einfach - ein Browser, eine Session. Fertig, aus.

17.08.2006 - 13:33 Uhr

Hab das hier nur überflogen.

Fakt ist: wird ein Session-Cookie verwendet, ist pro Browser-Instanz immer nur eine Session möglich. Ohne Wenn und Aber. Bei Firefox spielt es keine Rolle ob man ein neues Fenster aufmacht, imho ergeben alle Firefox-Fenster eine Instanz. Beim IE ist das was anders, wenn man da separat einen neuen Prozess startet (nicht über STRG+N!), erhält man ne neue Instanz, in der dann wieder ne neue Session beginnt.

Bei der verwendung der Session ID in der URL, also bei cookieless Sessions, wird die Session nur anhand dieser ID identifiziert - d.h. ASP.NET schaut, ob im Speicher eine Session mit der ID vorhanden ist, wenn ja wird das sitzungsspezifische Zeug ausgeliefert, wenn nicht, ne neue Session angelegt.

Hier kann man auch in einer Browser-Instanz mehrere Sessions betreiben. Was ich aber nie machen würde, weil das nämlich auch bedeutet, dass, wenn beispielsweise diese Links mit der SID in der URL per ICQ oder Mail verschickt werden, und noch "frisch sind", d.h. die Session am Server noch nicht abgelaufen ist, auch dritte unbefugt zutritt verschaffen können.

17.08.2006 - 09:52 Uhr

Wofür gibts denn Subversion? Sourcesafe möcht' ich nicht mal mehr mit der Kneifzange freiwillig anpacken 😉

Update: jedenfalls für alle Web-Entwickler ist die Standard-Version schon ein echter Fortschritt, weil sie ihren Code in Library-Projekte auslagern können, und sich um Abhängigkeiten bei der Kompilierung keinen Kopf mehr machen müssen.

17.08.2006 - 01:05 Uhr

Original von matthes86
die seite kenn ich selber
und ich hab es ja auch eigentlich so gemacht wie es gemacht wird aber solbald es veröffentlicht wird ist alles voll falsch in opera firefox und im internet explodierer

Die Seite zu kennen reicht nicht, du musst dir schon auch durchlesen, was da steht.

16.08.2006 - 14:32 Uhr

Ich find das interessant ... hier laufen so viel Anfänger rum die nur die Express-Varianten benutzen können, und keinen interessierts, dass es nen "richtiges" Studio für lau gibt?

Respekt.

16.08.2006 - 12:03 Uhr

Eine Tabelle in der Datenbank: ID, Datum, Autor, Email, Eintrag
Ein Formular zum eintragen
Eine Seite mit einem Repeater oder ner GridView zum Auslesen.

16.08.2006 - 11:05 Uhr

Nö, unbedingt die fertigen Controls und Forms Authentication benutzen - dabei ersparsts du dir eine Unmenge an Fleißarbeit.

Dein Stichwort lautet "MembershipProvider" - damit kannst du die fertigen Controls an eigene Datenbanken usw. anbinden.

Ein 0815-Beispiel findest du hier:

http://blog.thomasbandt.de/PermaLink,guid,a88a923d-77a6-45f3-b9f4-fd1ba38cd07c.aspx

Einfach den Datenzugriffscode auf MySQL abändern ...

16.08.2006 - 11:02 Uhr

Ja, du musst dir den Ablauf des ASP.NET Life Cycle begreiflich machen.

Die Seite geht zum Client -> danach ist sie bzw. der Prozess tot. Beim nächsten Aufruf, auch nach einem Postback, wird alles erneut ausgeführt.

In deinem Fall heißt das, dass Page_Load() vor deiner Event-Methode aufgerufen wird. Und was machst du in Page_Load()? Richtig, du befüllst bei jedem AUfruf die Box neu. Damit wirst du nie das richtige Ergebnis erhalten.

Also:

if(!Page.IsPostBack)
{
}

um den Code in Page_Load(), dann klappt es auch.

15.08.2006 - 18:43 Uhr

Original von ldr
Sry ich würde ja gerne ASP.NET benutzen aber das gibt's nicht für lau 🙁

MfG ldr

Die 3 Euro im Monat wir Mutti dir bestimmt noch aufs Taschengeld obendrauf geben.

15.08.2006 - 13:11 Uhr

AutoPostBack="true" gesetzt?

15.08.2006 - 12:34 Uhr

Was willst du? Was für Fehler kriegst du?

15.08.2006 - 12:31 Uhr

Ich bin mir nicht sicher, ob du verstanden hast, wie die Sache läuft - du schickst in jedem Fall nur HTML- bzw. JavaScript-Code zum Client. Nichts anderes. Kein Objekt, nichts.

Also nimm halt das Sample von aspheute und bau es entsprechend so um, dass der Fix angewendet wird.

15.08.2006 - 11:34 Uhr

Ähm ... am Ende kommt HTML-Code raus, egal wie du es einbindest. Um es als Objekt mit Vorschau im Designer nutzen zu können - da kann ich dir nicht helfen, auf sone Idee bin ich noch nie gekommen, für mich reine Zeitverschwendung.

Um den Rahmen-Effekt im IE zu umgehen hilft anhängendes Script. Damit das SWF einbinden, und es klappt auch wieder im IE problemlos.

15.08.2006 - 11:30 Uhr

Etwas Zeit muss man zwar mitbringen, aber dann gibts mit hoher Wahrscheinlichkeit (wenn man es noch in diesen Tagen macht) eine Version vom Visual Studio 2005 Standard sowie 6 Monate Freehosting geschenkt.

http://blog.thomasbandt.de/PermaLink,guid,3d1ea803-47f0-4ff6-b6ee-e0d18541e1f2.aspx

14.08.2006 - 22:26 Uhr

Code posten. Bzw. Sample zusammenstellen, zippen und hochladen.

14.08.2006 - 19:56 Uhr

Ganz einfach: verwende ValidationGroups - die sind genau zu diesem Zweck mit 2.0 eingeführt worden.

14.08.2006 - 19:21 Uhr

Probier mal http://www.staticdust.net/shop/product.aspx?Guid=9607D8D6-227F-445c-BD63-8B126A53BE25 - ist aber leider kein Open Source, ansonsten aber ein ganz netter Anfang und sicher auch ne gute Inspirationsquelle.

14.08.2006 - 16:40 Uhr

Ein WebUsercontrol ist in dieser Hinsicht nicht mit einem WinForms-UserControl zu vergleichen. Heißt: es hat keine Breite und keine Höhe. Allerhöchstens die Elemente im UC, d.h. evtl. ein DIV.

Heißt: Auslesen nicht möglich, du musst schon wissen was drin ist.

14.08.2006 - 11:57 Uhr

Von Benutzeraktionen war hier bis jetzt gar nicht die Rede. Wenn du darauf reagieren musst, ist der Redirect ein gangbarer Weg.

14.08.2006 - 11:38 Uhr

Nein, das erledigst du bereits beim Laden der Seite.

14.08.2006 - 11:09 Uhr

Nee, macht keinen Sinn. Höchstens, wenn du noch irgendwas zählen willst (Klicks), aber selbst das ist kein Grund für nen Roundtrip zum Server, da schaltet man ne Counter.aspx dazwischen.

Und wenn du die Zielseite dynamisch ändern willst:

<asp:HyperLink id="Link" runat="server" NavigateUrl="seite2.aspx">Linktext</a>

kannst du am Server auch über Link.NavigateUrl = "benutzer2.aspx" gehen.

14.08.2006 - 10:49 Uhr

Totaler Schwachsinn wenn ich das mal wieder anmerken darf. Wenn sonst nichts passieren soll, außer ein Sprung auf die nächste Seite, ist es absoluter Quatsch das nicht mit einem Link zu machen.

Aber bitte: Designer auf, Button rein, Doppelklick drauf - in die generierte Methode: Response.Redirect("seite2.aspx");

14.08.2006 - 10:34 Uhr

Was du suchst nennt sich Link. Ja, darauf baut das Web auf.

<a href="seite2.aspx">seite 2</a>

14.08.2006 - 10:09 Uhr

Original von Zero_Base
ich meine natürlich ASP.net. Warum ist es unterschiedlich? Wenn kein ASP.NET auf dem Server läuft (bzw. registriert), kann man doch auch keine ASP.net - Applikationen starten?

ASP ist prehistorisch und hat mit dem was ihr hier als ASP.NET kennt bis auf die 3 Buchstaben im Namen absolut nichts gemeinsam - in etwa so wie JavaScript und Java.

Zu deiner Frage: Ich würde im Prinzip ne Test.aspx anlegen, und in der sowas in der Art schreiben:

Sehen Sie den nachfolgenden Text?
<hr />
<%= DateTime.Now.ToString(); %>
<hr />
<a href="installiert.aspx">JA</a>
<a href="nichtvorhanden.html">NEIN</a>

Müsste funktionieren. Probiers mal aus.

13.08.2006 - 19:04 Uhr

Original von s0h0
tja da sieht man dass du nicht viel ahnung vom geschäft hast, denn dass interessiert die leute echt als letztes so lange es funzt...

Genau. Gut dass solche Leute dann zu mir kommen, wenn sie es richtig gemacht haben wollen 👍 😉

naja dabei wollen wir es auch mal belassen.
und bitte waschbecken wenn dir eine frage zu einfach erscheint oder es dich wieder überkommt dass ich unbedingt erst alle grundlagen beherschen muss dann antworte einfach nicht...
auf weitere "tips" in dieser form kann ich verzichten.

Tja, das bestätigt mich leider nur. Keinerlei Fähigkeit zur Selbstkritik ... aber wir sollten es wirklich dabei belassen, jedes noch mehr getippte Zeichen ist reine Zeitverschwendung.

Viel Spaß beim weiteren rumfrickeln.

13.08.2006 - 18:09 Uhr

Ob was läuft, ASP oder ASP.NET? Beide Sachen haben miteinander nichts zu tun.

13.08.2006 - 18:08 Uhr

Vergiss meine Antwort, hab eben nachgeschaut - den Namespace gabs auch schon mit 1.0.

Allerdings ist es wahrscheinlich, dass die Assembly bei einigen Projekttypen nicht automatisch referenziert wird (Ist bei System.Web oder System.Configuration (wie praktisch) z.B. bei Bibliotheksprojekten auch so).

Schau mal ob du die Referenz hinzufügen kannst bzw. ob sie schon vorhanden ist (im Solution-Explorer Rechtsklick auf das Projekt -> Referenz hinzufügen)

13.08.2006 - 17:41 Uhr

Imho müsste das ein 2.0 Namespace sein.

13.08.2006 - 17:39 Uhr

Na dass deine Vorstellungskraft ziemlich beschränkt ist, ist hier ja inzwischen reichlich bekannt. Ansonsten solltest du dich weniger als Großmaul hervortun, und wie erwähnt lieber die Grundlagen büffeln, was ja wohl ganz im Sinne deiner Auftraggeber wäre, die dann weniger zusammengeklickten Bullshit bekommen.

13.08.2006 - 15:18 Uhr

Edit: scheiß drauf.

10.08.2006 - 16:09 Uhr

Original von dass
Waschbecken, daß kann doch wohl nicht Dein ernst sein: Er fragt höflich, und wenn er es nicht kapiert, dann freu Dich, daß Du es besser kannst.

Klar kann das mein Ernst sein, hier ist so viel Unwissen und Ignoranz unterwegs, dass es weh tut. Und bitte, wo war dein konstruktiver Beitrag zu diesem Thema?

10.08.2006 - 13:52 Uhr

Weil die Schleife nur bis 20 läuft.

09.08.2006 - 09:52 Uhr

Anhand von Dokumenten, Zeugen, Erstelldaten von Dateien (sicher, fälschbar) usw. - im Zweifel wird sich da ein Gericht drum kümmern.

Wenn's wirklich um was geht kannst du deine "Erfindung" ja patentieren lassen, die gilt dann durch das Patent schon ab der Anmeldung, nicht erst ab der Erteilung, als geschützt - damit bist du fast ganz auf der sicheren Seite.

08.08.2006 - 19:52 Uhr

Problematisch wird es nur bei der Auszeichnung als geschützte Marke ((R), TM) - wenn das nicht der Fall ist. Copyright (c) kann jeder auf alles schreiben, wo er auch tatsächlich der Urheber ist. Rechtlich ist das in Deutschland tatsächlich irrelevant ist, weil es dich nicht weniger zum Urheber macht, wenn du es nicht draufschreibst, aber es ist dann doch mal ein deutlicher Hinweis der in der einen oder anderen Situation helfen kann, Missverständnissen vorzubeugen.

07.08.2006 - 14:03 Uhr

Ihr bekommt ganz sicher auch in Zukunft weitere Gratis-Exemplare. Einmal im Verteiler, kann man sich kaum mehr dagegen "wehren" =) (Hab noch nie für eine Ausgabe bezahlt aber in den letzten beiden Jahren garantiert jede 2. ASP.NET professional und auch schon ein paar Visual Studio One bekommen ...)

03.08.2006 - 10:23 Uhr

Du bist auf der völlig falschen Baustelle. Beleg erstmal nen Grundkurs in HTML und CSS, und dann mach hier weiter.

http://de.selfhtml.org

Web- ist keine Desktopprogrammierung. Was am Ende immer rauskommt ist nichts als HTML und CSS Leute - wenn ihr nichtmal die Grundlange beherrscht, vergesst es einfach.

01.08.2006 - 15:47 Uhr

Gimp z.B. Wobei das eine üble Oberfläche hat.

31.07.2006 - 11:17 Uhr

Auweia.

Setz einfach dein Zeug in einen Container:

<div style="border: 5px solid black"></div>

29.07.2006 - 14:14 Uhr

Bist du irre ... Google mal nach SQL Injection bevor du dich deinem Problem weiter widmest.

28.07.2006 - 12:10 Uhr

Mit JavaScript ausblenden. Schließen kannst du einen IFrame nicht, wie auch, er ist ja in deine Seite eingebettet.

Oder du machst nen Postback, dann kannst du Text des Literals wieder überschreiben.

28.07.2006 - 10:49 Uhr

Bei einem normalen Postback? Nein. Mit Ajax: ja.

27.07.2006 - 23:32 Uhr

Lerne HTML und CSS!