Benutzer mit den meisten Antworten
TextBoxen alle zusammen per Mail

Frage
-
Hallo liebe Community,
Und zwar habe ich ein Formular erstellt. Unten ist ein Button zum Senden per Mail das funktioniert auch alles super.
Nur suche ich jetzt eine möglichkeit evt alle TextBoxen und Checkboxen schön sortiert und mit Zeilenumbruch ausgeben zu lassen
in der Mail. Ich habe zwar eine sehr einfache Lösung alaMailSenden.Body = TextBox1.Text + blabla.Text + ....;
aber ich denke das ist nicht die tollste. Habt ihr eine andere Möglichkeit? Ich bin noch Anfänger, hab schon gegoogelt aber find irgendwie nichts was
darauf passt.Viele liebe Grüße
Cesa
Antworten
-
Hi,
Nur suche ich jetzt eine möglichkeit evt alle TextBoxen und Checkboxen schön sortiert und mit Zeilenumbruch ausgeben zu lassen
in der Mail. Ich habe zwar eine sehr einfache Lösung alawenn die Anzahl der Textboxen bekannt ist (bzw. sich die Anzahl und die Reihenfolge nicht einfach mal so ändert), könntest Du einfach ein Template bauen und das dann mit den Werten füllen.
Das Template könnte dann bspw. so aussehen:
Name : {0} Adresse : {1} Telefon : {2} Email : {3} Newsletter: {4}
Das Template kann bspw. als Resource, als Textdatei, in einer Datenbank, ... hinterlegt werden. Füllen kannst Du das dann so:
Dim MailBody As String = String.Format( <MailTemplate>, Name.Text, Adresse.Text, Telefon.Text, Email.Text, Newsletter.Checked.ToString() )(Name, Adresse, ...) sind dann Textboxen, Newsletter eine Checkbox.
Das klappt natürlich auch mit HTML Mails, das Template muss dann halt den HTML Code (bspw. für eine Tabelle) beinhalten. Die restliche Vorgehensweise ist identisch.
BTW: Der Editor hier geht mir grade wieder aufn Keks :( Und weil das dämliche Teil leider alle meine Versuche, das Template ordentlich darzustellen, zunichte macht, musst Du dir es leider selbst vorstellen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Robert BreitenhoferModerator Montag, 10. Januar 2011 17:08
- Tag als Antwort aufgehoben Cesa B Mittwoch, 19. Januar 2011 15:13
- Als Antwort vorgeschlagen Stefan FalzModerator Mittwoch, 19. Januar 2011 21:48
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 25. Januar 2011 08:14
-
Hi,
Dim Template As String
Template = System.IO.File.ReadAllText( "X:\Ordner\Template.txt" )
Dim MailBody As String
MailBody = String.Format( Template, kname.Text, xyz.Text, ... )
Die Parameteranzahl muss dabei dann passen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Stefan FalzModerator Mittwoch, 19. Januar 2011 21:48
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 25. Januar 2011 08:14
Alle Antworten
-
Hi,
Nur suche ich jetzt eine möglichkeit evt alle TextBoxen und Checkboxen schön sortiert und mit Zeilenumbruch ausgeben zu lassen
in der Mail. Ich habe zwar eine sehr einfache Lösung alawenn die Anzahl der Textboxen bekannt ist (bzw. sich die Anzahl und die Reihenfolge nicht einfach mal so ändert), könntest Du einfach ein Template bauen und das dann mit den Werten füllen.
Das Template könnte dann bspw. so aussehen:
Name : {0} Adresse : {1} Telefon : {2} Email : {3} Newsletter: {4}
Das Template kann bspw. als Resource, als Textdatei, in einer Datenbank, ... hinterlegt werden. Füllen kannst Du das dann so:
Dim MailBody As String = String.Format( <MailTemplate>, Name.Text, Adresse.Text, Telefon.Text, Email.Text, Newsletter.Checked.ToString() )(Name, Adresse, ...) sind dann Textboxen, Newsletter eine Checkbox.
Das klappt natürlich auch mit HTML Mails, das Template muss dann halt den HTML Code (bspw. für eine Tabelle) beinhalten. Die restliche Vorgehensweise ist identisch.
BTW: Der Editor hier geht mir grade wieder aufn Keks :( Und weil das dämliche Teil leider alle meine Versuche, das Template ordentlich darzustellen, zunichte macht, musst Du dir es leider selbst vorstellen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Robert BreitenhoferModerator Montag, 10. Januar 2011 17:08
- Tag als Antwort aufgehoben Cesa B Mittwoch, 19. Januar 2011 15:13
- Als Antwort vorgeschlagen Stefan FalzModerator Mittwoch, 19. Januar 2011 21:48
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 25. Januar 2011 08:14
-
Ich danke dir für deine schnelle Antwort. Das hab ich soweit verstanden und ist auch eine super Lösung. Könntest du nur als Code Beispiel das ganze in C# posten ?
Die Anzahl und Reihenfolge ist fix und bleibt es auch. Das heisst aber nicht ich muss jetzt den TextBoxen usw eine Feste Zahl zuweisen ? Oder ?
-
Hi,
Könntest du nur als Code Beispiel das ganze in C# posten ?
Aber die eine Zeile (die sich im übrigens nur durch zwei einzelne Worte unterscheidet) sollte man auch so übersetzen können. Ab = ... ist eh alles identisch.
Die Anzahl und Reihenfolge ist fix und bleibt es auch. Das heisst aber nicht ich muss jetzt den TextBoxen usw eine Feste Zahl zuweisen ? Oder ?
Nö. Die Parameter {0}, {1}, ... werden entsprechen der Reihenfolge der Übergabewerte ersetzt. Einfach mal ausprobieren und die Doku zu String.Format lesen. Dann sollte das klar sein.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Robert BreitenhoferModerator Montag, 10. Januar 2011 17:08
- Tag als Antwort aufgehoben Cesa B Mittwoch, 19. Januar 2011 15:13
-
Sry das ich jetzt das Thema nochmal aufgreife aber ich komm nich wirklich weiter. Ich habe jetz ein Template in einer txt Datei erstellt das
sieht wie folgt aus:
Herr {2} Frau {3} Geburtsdatum: {4}
Name: {5} Vorname {6}
Straße {7} Nr: {8}
PLZ: {9} Ort: {10}
Rückrufnummer: {11}
Mobilfunk: {12}natürlich oben bei 0 beginnend. Nun will ich drauf zugreifen weiss aber nich wirklich wie ich das anstellen soll. Mit dem Befehl oben klappt das nich so ganz
string MailBody = string.Format("Template?",kname.Text,geburtsdatum.Text);
so gehts auf jedenfall nicht. Ich bin noch recht neu :)
Danke trotzdem schonmal
-
Hi,
Dim Template As String
Template = System.IO.File.ReadAllText( "X:\Ordner\Template.txt" )
Dim MailBody As String
MailBody = String.Format( Template, kname.Text, xyz.Text, ... )
Die Parameteranzahl muss dabei dann passen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Stefan FalzModerator Mittwoch, 19. Januar 2011 21:48
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 25. Januar 2011 08:14