Laden...
Avatar #avatar-2678.jpg
Tomot myCSharp.de - Member
Junior-Softwaredeveloper C# und ASP.Net Düsseldorf Dabei seit 21.12.2007 691 Beiträge
Benutzerbeschreibung

Forenbeiträge von Tomot Ingesamt 691 Beiträge

23.10.2009 - 13:30 Uhr

Wie hast du denn dein DownloadFile implementiert? Machst du irgendwo ein Response.Clear() oder hast du ein extra HttpModule dafür gebaut.

Wenn du Response.Clear() verwendest, ändert sich meines Erachtens nichts an der Seite, da du den Response ja "abbrichst".Du könntest beim Buttonklick eine Javascript Funktion aufrufen, die dir die Felder leert, oder du verwendest zum Downloaden ein HttpModule.

23.10.2009 - 10:30 Uhr

Hallo und willkommen im Forum.

Schau dir mal [URL=http://msdn.microsoft.com/de-de/library/system.string.format%28VS.80%29.aspx[/url]String.Format-Methode[/url] und die entsprechend verlinkten Artikel an.
Mit der String.Format(..,..) Methode sollte dies möglich sein.

21.10.2009 - 19:01 Uhr

Ich beziehe über meinen MSDNAA "Windows 7 Professional (x86) - DVD (German)"

21.10.2009 - 18:52 Uhr

Schau dir dochmal die dafür entsprechenden LINQ-Methoden an.

Enumerable Methods

Intersect() wäre z.B. eine Methode, die deinen Anforderungen entspricht.

21.10.2009 - 18:43 Uhr

Hi.

Gibt es ein Tool, mit dem man das, was man entwickelt hat automatisch jeden Abend auf den Webserver spielen kann? Schau dir mal CruiseControl.net an. Das müsste das können.

20.10.2009 - 20:19 Uhr

Kopierst du jeweils die ganze Methode? Lagere diese doch in eine Klasse aus, die du an den sprechenden Stellen instanzierst. Dann hast du keine Redundanz mehr.

20.10.2009 - 00:14 Uhr

Hallo zusammen.
Ich werde nun in der Uni dazu gezwungen mich mit C zu beschäftigen.

Ich bin nun auf der Suche nach Literatur, mit der ich mir "das wichtigste" mit C ersteinmal selber beibringen werde. Dabei suche ich ein Buch, das den Quereinstieg in C aus einer objektorientierten Sprache (C# bevorzug) erläutert.

Für den Anfang wird http://openbook.galileocomputing.de/c_von_a_bis_z/ sicherlich ganz gut sein, aber wenn ich das durch habe, brauch ich Input in einer kompakten Form.

Eventuell wäre auch hilfreich, wenn in dem Buch Gedankenanstöße vermittelt werden, von einer objektorientierten Denkweise so umzudenken, das ich sinnvoll unter C entwickeln kann.

Danke euch schonmal.

19.10.2009 - 00:33 Uhr

Hi. Dich dürfte das OwnerDrawing weiterbringen. Die Klasse MenuItem stellt zumindest eine Property OwnerDraw und ein entsprechendes Event bereit.

Schau dich mal in der MSDN um, dort ist ein Beispiel.

14.10.2009 - 17:53 Uhr

Hi.

Mein erstes "Projekt" überhaupt war ein Programm zum Berechnen des Notenspiegels. Geschrieben war dies in Visual Basic 6. Ist nun 5 1/2 Jahre her. (Damals war ich dementsprechend gerade 15 Jahre alt. Bild siehe Anhang)

Mein erstes C# Programm war ein Schulprojekt. In der Schule hatten wir eigentlich Java. Zu dem Zeitpunkt hatte ich jedoch schon 2-3 kleinere Applikationen unter VB.net geschrieben. Ich überzeugte meinen Lehrer ein Projekt unter C# machen zu dürfen, obwohl ich noch nie mit C# etwas gebastelt hatte. Dazu muss man sagen, dass ihm C# auch fremd war, er aber nichts dagegen hatte. Über einen Zeitraum von zwei Monaten entwickelte ich unter dem Prinzip "Learning by doing" einen kleinen RSS Feedreader, der aus mehereren Forms und einer XML-Serialisierung bestand.

Edit: Mir fällt gerade ein, dass ich davor noch ein wenig BASIC gelernt hatte. (Supermarktkasse als Skript etc)

12.10.2009 - 20:30 Uhr

leider weiß ich nicht wie ich das "mach einfach mit dem nächsten wert weiter" programmiere..

Indem du den Try-Catch block nicht um alles, sondern nur um die Dateioperation des Löschens setzt.
Der Finallyblock wird übrigens nach erfolgreichem Durchlaufen des Try-Blocks oder des Catch-Blocks ausgeführt.

12.10.2009 - 18:25 Uhr

Schau dir diesen Thread Was muss ich bei der Auswahl eines Hostingabietes für webservices beachten? mal an. Da gibts was mit geringer Laufzeit zu günstigen Preisen.

10.10.2009 - 15:04 Uhr
l1.Text = "test<br />";
09.10.2009 - 08:30 Uhr

Kannst du dein Projekt nicht auf nem IIS in deiner Schule laufen lassen?

Wenn die Seite geladen ist, werden alle (ca.50 Einträge) auf der selben Seite dargestellt (Bild NoClick).
Wenn ich dann auf "Bearbeiten" beim ersten Eintrag klicke, unterteilt plötzlich GridView die Einträge in Seiten auf 10 Einträge, aber GridView erstellt für den ersten Eintrag gar keine Textbox zum editieren.(Bild Click1).

Frag mich nicht, wieso das erst nach dem ersten Postback passiert. Eventuell hast du zusätzlichen Code im Page_Load der erst nach dem Postback dafür sorgt.

Grid.AllowPaging = true;

Dadurch erzwingst du ja gerade das Verhalten, das du ja nicht haben willst.

Beim zweiten Mal klicken erscheint eine Textbox (Bild click2), wenn ich dann den Eintrag ändere und auf "Aktualisieren" klicke, sind beim UpdateEventArgs die Einträge OldValue und NewValue leer.

Eventuell musst du in der GridView entsprechende Properties setzen. DataKey oder ähnliches.

if (this.Grid.DataSource == null)

Schaumal, ob das bei jedem Postback der Fall ist. Wenn du einen Postback beim Editieren auslöst und dann direkt die Daten dranneubindest, überschreibst du dir die Änderung.

if(!Page.IsPostback){}

ist da eventuell hilfreich

08.10.2009 - 16:56 Uhr

System.IO.File bietet dir entsprechende Funktionen und mit dem Dateinamen herumzuschnippeln.

Ich persönlich würde vor die Dateiextension ein

string.format("_{0}", DateTime.Now.Ticks)

setzen, da ich von solchen Durchnummerierungen nichts halte. Du kannst so alphanumerisch direkt sortieren und hast die neuste Datei entsprechend oben/unten, ohne dich zu kümmern müssen, ob bereits eine Datei mit generiertem Zahlzusatz existiert.

Wenn du unbedingt die Nummering haben willst, dann würde ich in dem Zielordner alle Dateien heraussuchen, die mit "filename_(" beginnen, dann versuchen mit int.parse eine List<int> von allen verwendeten Indices erstellen. Diese Liste wird sortiert und anschließend in einer Schleife die erstmöglichste Zahl gesucht, die nicht in dieser Liste vorkommt.

03.10.2009 - 18:16 Uhr

Das Problem ist aber zum einen, dass der Tooltip auch wieder ausgeblendet werden müsste bzw. sich durch jede Mausbewegung tausende weitere Tooltips öffnen.

Setze eine Flag, die sicherstellt, das du dein Tooltip nur einmal anzeigst. Diesen Flag setzt du auf false, wenn deine Maus dein UserControl verlässt, während du gleichzeitig sicherstellst, das sich dein Tooltip schließt.

Zumal der Tooltip aus einem unerfindlichen Grund nicht immer erscheint.

Stehen dir nicht bessere Events als MouseMove zur Verfügung? MouseEnter und MouseLeave?

01.10.2009 - 14:22 Uhr

Hmm, vergiss die Idee mit dem erben, das Vererben von Markup klappt ja nicht, daher scheitert die Idee mit dem Vererben hier. Da hatte ich eben was durcheinander geworfen, sorry.

Daher rate ich dir hier zu

Du könntest Benutzerdefinierte-Events in der Masterpage deklarien und dann in den spezielen Seiten diese Events-Handel ,
wobei ich hier nicht die Events in der MasterPage deklarieren, sondern dieses Navigation Control selbst über eine Property zur Verfügung stellen würden.

Dann würdest du in jeder Inhaltsseite die Events entsprechend abonieren und dann die jeweiligen Änderungen am Anzeigecontrol hervorrufen.

01.10.2009 - 09:58 Uhr

Hm, aber diese Events müsste ich ja dann auch irgendwie "öffentlich" machen, damit ich auf den abgeleiteten Seiten drauf zugreifen kann, oder?

In den Seiten, die deine Masterpage als Masterpage verwenden. Du kannst das Event in der Masterpage ja als public deklarieren.
Mit this.Master kannst du im codebehind deiner Websites auf die Masterpage zugreifen (hier musst du sie allerdings noch casten).
Um das casten zu vermeiden, kannst du im Markup folgende Zeile hinzufügen:
<%@ MasterType VirtualPath="~/Admin.Master" %>

Eine andere Alternative wäre natürlich, das du diese Navigation als Control bereitstellst und alle Anzeigecontrols von diesem Control erben.

01.10.2009 - 09:53 Uhr

Verwende innerhalb des paragraphs ein asp:Label. Das hat die von dir gesuchte Property. Wenn dich das nicht zufrieden stellt, dann gib dem paragraph eine entsprechende css Klasse.

Diese Lösung kannst du entweder serverseitig oder mit entsprechendem Javascript auch clientseitig machen.

29.09.2009 - 16:53 Uhr

Im IIS -> Websites -> deine 2.0 Anwendung aussuchen rechtsklicken -> Properties -> Basisverzeichnis -> unten bei Anwendungspool.

29.09.2009 - 16:06 Uhr

Versuchst du 1.1 und 2.0 Anwendungen im gleichen ApplicationPool laufen zu lassen? Meiner Meinung nach geht das nicht. Kommt daher der Fehler?

29.09.2009 - 12:11 Uhr

Hallo.

Ich weiß nicht, ob ich dich richtige verstehe, aber müsste folgendes nicht zu deinem Ziel führen?

protected void Loeschen_Click(object sender, EventArgs e)
{
   if(ValidateButtonClick(sender), "ID1234")
  {
    DoSomething();
  }
}

protected bool ValidateButtonClick(object sender, string matchID)
{
  return (((Button)sender).ID == matchID);
}


protected void DoSomething(){...}

29.09.2009 - 11:14 Uhr

Hi.

Vielleicht kannst du dein Vorhaben auch mit dem UpdatePanelAnimationExtender aus dem AjaxControlToolkit realisieren?

28.09.2009 - 11:41 Uhr

Das Control Panel von Plesk ist in ASP.net geschrieben.

28.09.2009 - 11:36 Uhr

Die .css Datein aus dem Themeordner werden automatisch geladen, sofern das entspreche Theme gesetzt ist.

Hast du vielleicht eine Authentifizierung eingebaut und das Design ist nur auf der Loginseite "zerschossen"?

Dann gib mit einem entsprechendem <location> Eintrag in der web.config den App_Themes Ordner für alle Zugriffe frei.

25.09.2009 - 18:28 Uhr

Mir fällt da spontan das Pascalsche Dreieck ein: http://de.wikipedia.org/wiki/Pascalsches_Dreieck

Wobei dies bei größer werdenem Exponent irgendwann unpraktikabel wird.

22.09.2009 - 17:52 Uhr

Mir fällt noch http://www.xp-dev.com/ ein. Die Vertrauenwürdigkeit musst du selbst evaluieren.

22.09.2009 - 17:46 Uhr

Hallo.

Ich nehme mal an, das es dir um die Ausgabe der Zahl geht. (weil 199,99 kein Integer ist)
Dann sollte string.Format() die richtige Methode sein. Dort kannst du ein Pattern übergeben, mit dem die Zahl formatiert wird.

Siehe: String.Format-Methode (String, Object)

21.09.2009 - 16:29 Uhr

... und ist auch richtig deklariert.

Das ist Ansichtssache. Du hast zwar eine Methode deklariert, nur kannst du diese nicht auf das Event für den ButtonClick registrieren, da deine Methode CommandEventArgs und nicht EventArgs erwartet.

[Hinweis] Bitte schau in die SDK-/MSDN-Doku
http://msdn.microsoft.com/de-de/library/system.web.ui.webcontrols.button.click%28VS.80%29.aspx

21.09.2009 - 16:22 Uhr

Dein String, den du zum Formatieren benutzt muss Plathalter aufweisen.

Hier ein String mit 3 Platzhaltern "hallo ich heiße {0}. heute ist {1} und es sind {2}° Celsius draußen.

Wenn du noch mehr wissen willst, schau in die MSDN.

21.09.2009 - 11:28 Uhr

Mach einen Div um Bild und Text. Dann hat die Linie das margin-top auf den Divcontainer.

19.09.2009 - 13:10 Uhr

Die Energieverwaltung von Acer Laptops ist in .net geschrieben.
Ich hab eben eine schöne ungefangende DivisionByZero-Exception erhalten =)

18.09.2009 - 16:54 Uhr

Deine NavigationsObjekte und die Footerobjekte packst du jeweils in ein UserControl.
Wenn du das Navigationscontrol aber auf jeder Seite haben willst, dann pack es ruhig in die MasterPage.
Solltest du für einzelne Seiten das Menü nicht haben wollen, kannst du im Codebehind der MasterPage eine Property anlegen, die dir ermöglicht, das die Navigation nicht geladen und angezeigt wird. (Setzt natürlich vorraus, das du in deinem UserControl eine entsprechende Methode bereitstellst, die verhindert, das eine Datenbindung passiert, wenn das Control nicht angezeigt werden soll. Das könntest du realisieren, indem du in der Methode die dir die Datenbindung bereitstellt, auf eine boolsche Variable abfragst.)

Ich habe zusätzlich zum Menü noch einen Footer, in dem Informationen stecken und je nach Zustand verschiedene Grafiken angezeigt werden....also hier dasselbe.

Gebe deinem UserControl für den Footer entsprechende Properties/Methoden, die ein Bild in Abhängigkeit des Status laden. Im Codebehind müsstest du dann auch eine entsprechende Methode schreiben.

Mit


this.Master

kannst du ja in einer Page auf die MasterPage zugreifen. Entweder castest du entsprechend:


((MyMaster)this.Master).PropertyBlub

oder fügst im Markup einer Seite folgende Zeile hinzu (erste xxx durch den Namen deiner MasterPage):

<%@ MasterType VirtualPath="~/xxx.Master" %>

und du kannst über

this.Master

ohne explizit casten zu müssen auf die Properties und Methoden deiner MasterPage zugreifen.

18.09.2009 - 16:44 Uhr

Hi.

Schau dir mal die MasterPageFile Property vom Page Objekt an.

18.09.2009 - 08:06 Uhr

In der ersten Liste wird ein Hauptpunkt eingetragen in der Zweiten kann man
dann mehrere Unterpunkte eintragen oder auch nicht.
Ich weiß nun nicht so richtig ob es das gelbe vom Ei ist.

Bedenke, das du <ul> und <li> auch mehr als einmal ineinander verpacken kannst.

18.09.2009 - 07:56 Uhr

Als weitere Alternative, wenn sich die o.g. Lösungen für dich nicht anbieten sollten, bleibt dir immer noch die Möglichkeit, via Reflection das entsprechende Object zu erzeugen und Properties zu setzen.
Die Controls selbst haben default Werte, können jedoch mit ihnen explizit zugewiesenen Werten überschrieben werden. Diese Werte würden dann in der Datenbank stehen.

Dies wäre meines Erachtens eine Vorgehensweise, wenn du viele spezielle Properties hast, die sich nicht in ein Interface vereinen lassen.
Eventuell kannst du hier eine Factory aber auch der Reflectionvariante vorziehen.

18.09.2009 - 07:48 Uhr

Ich denke die entsprechenden Stichworte wären hier HTTPRequest und HTTPResponse. Die letzten Tage war hier ein Thread oft verlinkt, musste mal nach schauen.

17.09.2009 - 16:25 Uhr

Hi Daniel_3_17.
Sicher das du

ShowPicture.aspx?PictureId=3908

meinst? An der Stelle würde sich ein generischer Handler anbieten,
den du dann mit xxx.ashx?PictureID=3908 ansteuerst.

In diesem generischen Handler kannst du selber fürs Caching sorgen.
Der Browser cacht dann selbst noch einmal, da du im Grunde ja eine URL ansteuertst. (Also wenn du jetz ein Aspnet:Image Control hast und die NavigateUrl auf den generischen Handler setzt)

Zudem:

(Browser ruft direkt die 3908.jpg auf)?

Ich dachte du willst eben sicherstellen, das das Bild nicht über das Web ansteuerbar ist.

Eine Möglichkeit dem generischen Handler eine "Authentifizierung" beizubringen wäre, in dem du einen zweiten GET-Parameter verwendest, der mit einem Datenbankwert abgeglichen wird. Dann musst du sicherstellen, das nur wenn der richtige Parameter übergeben wurde, das Bild in den OutputStream des generischen Handlers geschrieben wird.

Da gibt es aber mit Sicherheit noch viel bessere Möglichkeiten. Wenn du eine findest, dann poste sie doch hier, damit alle was von haben 😉

16.09.2009 - 22:49 Uhr

Hi.

Beim GridView sollte dir die Property AlternatingRowStyle.CssClass weiterhelfen.

Bei der Dropdownliste mussich passen.

16.09.2009 - 10:52 Uhr

Wieso verwendest du an dieser Stelle überhaupt ein Bind? Da du dem Wert ja nichts zuweisen kannst, wäre hier ein Eval angebracht.

Als Alternative steht dir natürlich immer noch das RowDataBound Event des GV zur Verfügung.

16.09.2009 - 08:27 Uhr

Hi.

Die Sprache würde ich schon fast sagen, da die ja User bezogen ist.

Ja, kannst du problemlos in der Session speichern und dann im
protected override void InitializeCulture()
setzen.

Aber das Theme, das soll nur vom Sitebetreiber einstellbar sein ( Datenbank ) und dann gesetzt werden. Würdet Ihr das Theme dann auch in der Session speichern, oder doch eher im HttpContext?

Du könntest ein Dictionary in die Session packen, damit du pro verschiedene Seite nur einmal eine Abfrage an die Datenbank machen musst. Du baust dir dann eben eine Methode, die überprüft, ob für die Seite bereits das Theme geladen wurde, wenn ja, dann den gecachten Wert zurückgeben, ansonsten die DB abfragen und in das Dictionary schreiben.

15.09.2009 - 16:58 Uhr

@Tomot: Es handelt sich um eine normale ASP-Table, die ohne Datenbindung auskommt. Ich lese zwar Daten aus der Datenbank und füge sie der Tabelle hinzu, jedoch mache ich mir erst eine TableRow, TableCell, Daten dazu etc.

Darf ich fragen wieso du das alles per Hand machst? Wenns dir ums Layouten geht, da kann dir doch dann ein ListView auch viel abnehmen.

15.09.2009 - 08:22 Uhr

Morgen.

Ich kann jetzt nur vom HTC Touch Diamond 1 sprechen, den ich mir vor über einem Jahr zugelegt habe.
Zum Theme Sound: Im Lieferumfang sollte ein Headset beiliegen, das direkt auf den extUSB Anschluss passt. Sollte solch ein Headset kaputt gehen (was relativ schnell geht, 1-2 Monate bei mir normaler Benutzung; zweimal der Fall gewesen), kannst du dir für 20€ ein neues zulegen (oder die 6 Monate Garantie auf Zubehörteile nutzen), oder du kaufst dir für 20€ den "extUSB -> 3,5 Klinke + extUSB + miniUSB"-Adapter.
Der Sound kratzt manchmal (dafür gibt es allerdings bereits einen Patch, den ich noch nicht ausprobiert habe) und nach ~2 Stunden Musik hören hast du 100% Akkuleistung verbraucht.

Die Touch Flo Oberfläche ist totaler Mist. Obwohl man das ganze über die Registry verbessern kann, habe ich nach 2 Tagen die aufgesetze Oberfläche komplett ausgeschaltet.

Das größte Manko am Touch Diamond ist der Opera Browser. In meiner Kiste ist ein 500Mhz Prozessor mit 128MB Ram und der Browser lahmt total. Ein normaler Seitenaufbau braucht locker 10 Sekunden. Dann kommt dazu, das Navigieren durch Seiten qualvoll bis teilweise unmöglich ist, da mein Handy diverse Klicks auf Buttons komplett ignoriert.
Jedes Iphone und jeden Blackberry das ich bis jetzt beobachten konnte, schlägt in diesem Aspekt meinen Touch Diamond um Längen.
Ich les gerade, du hast alternativ auch den Internet Explorer zur Auswahl, vielleicht ist es mit dem ja besser.

Mein gutmeinter Rat: Teste das Handy vorher in einem Laden und schaue dir umbedingt die Surffunktion an.

Wenn ich natürlich eine Windows CE Platform habe, ist die Verlockung sehr gross dort auch mal Software dafür zu schreiben.

War auch einer der Hauptgründe, wieso ich dieses Handy wollte. Mehr als eine "Ich les den Akkustand aus"-Applikation ist bei mir aus Zeitgründen aber auch noch nicht enstanden.

edit: Hier hab ich mich schonmal über das Handy ausgelassen: Neues Handy - Wahl zwischen Nokia und O2

15.09.2009 - 08:09 Uhr

Hallo,
die von dir gewählte Vorgehensweise mit dem Abonnieren des Click-Eventhandlers sollte schon zielführend sein. Codebeispiel siehe: http://msdn.microsoft.com/de-de/library/system.web.ui.webcontrols.linkbutton.click.aspx

Ich denke, das hinzufügen, bzw das DataBinding deiner Tabelle ist hier das Problem, das die eventbehandelne Methode nicht ausgelöst wird.

Stelle sicher, das du du im Page_Load das Databinding auf die Tabelle nur ausführst, wenn kein Postback erfolgt. Ansonsten "verschwindet" das Event. (Vermutlich weil die eventauslösenden Controls nicht mehr da sind, sondern durch neu erstelle ersetzt wurden.)

Sollte das nicht helfen, dann poste mal den Quellcode beim Einfügen in die Tabelle (ich nehme mal an, in einem RowDataBound oder ähnlichem Event).

14.09.2009 - 10:29 Uhr

Die Projektplanungssoftware OnTime von Axosoft ist in C# geschrieben, bzw. der Windowsclient. Der Webclient und das Customerportal sind in Asp.net geschrieben.

12.09.2009 - 11:27 Uhr

Eine andere Vorgehensweise wäre, wenn du das Setup nicht über einen direkten Link zur Verfügung stellst, sondern über einen Buttonklick und dann per Response.Write als Download bereitstellst.

11.09.2009 - 20:34 Uhr

Schau dir mal den xmlNode urlMapping für die web.config an. Ich habe sie bisher nur für aspx Seiten verwendet. Eventuell kann die ja auch darüber hinaus Weiterleitungen realisieren?

09.09.2009 - 11:32 Uhr

Oh, eine ganz neue Begrifflichkeit und damit hat sich, dank Nachschlagemöglichkeit, die Frage auch erübrigt. Danke 😉

Ich ändere meinen Beitrag entsprechend.
Für alle, die diesen Thread erst nach der Editieren lesen: Ich habe den "Object Initializer" fäschlicherweise als Lambda-Ausdruck bezeichnet.