Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

mail versenden mit usercontrol

1 view
Skip to first unread message

Alexander Widera

unread,
Mar 22, 2006, 5:56:15 AM3/22/06
to
Hallo,

dieses Frage gab es hier (oder wo anders sicher schon oft genug) aber ich
finde momentan keine Antwort im google.
Ich möchte ein usercontrol rendern, die "Ausgabe" aber nicht "ausgeben"
sondern per Mail versenden. Wie geht das? Ich weiß dass es geht ... aber ich
finde es nicht mehr.

Noch eine weitere Frage... wie ist es am sinnvollsten Mails mit .net 2.0 zu
versenden?
ich habe MailDefinition entdeckt ... das ist garnicht so schlecht ... aber
irgendwie umständlich zu bedienen.
Welche Methode würdet ihr mir empfehlen? Am besten, dass ich einen
smtp-server angebe inkl. Zugangsdaten.

Viele Grüße
Alex


Hannes Pavelka

unread,
Mar 22, 2006, 6:07:38 AM3/22/06
to
Hallo Alexander,
mit Net 2.0 gibt es ja nun den System.Net.Mail Namespace. Bei Net 1.1 war
die Mail Funktionalität aus unerfindelichen Gründen ja innerhalb des
System.Web Namespace zu finden.
Mit System.Net.Mail ist versenden von Mails unproblematisch möglich.

Um das Render des Controlls nach deinen Wünschen zu beinflussen musst du nur
die Render Methode überschreiben:
protected override void Render(HtmlTextWriter output) {...}

Hannes Pavelka
blog: http://www.hannes-pavelka.com

"Alexander Widera"
<aw...@hrz.tu-chemnitz.de-novaliddomainpleasedeletethispart.de> schrieb im
Newsbeitrag news:uQ7IE9ZT...@TK2MSFTNGP14.phx.gbl...

Alexander Widera

unread,
Mar 22, 2006, 6:26:03 AM3/22/06
to
> mit Net 2.0 gibt es ja nun den System.Net.Mail Namespace. Bei Net 1.1 war
> die Mail Funktionalität aus unerfindelichen Gründen ja innerhalb des
> System.Web Namespace zu finden.
> Mit System.Net.Mail ist versenden von Mails unproblematisch möglich.

ahh.. ok... das hat mich in der 1.1 immer verwundert ... das war so
verstreut alles. Jetzt bekomm ich das hin.

> Um das Render des Controlls nach deinen Wünschen zu beinflussen musst du
> nur die Render Methode überschreiben:
> protected override void Render(HtmlTextWriter output) {...}

hmm ... aber das Problem habe ich noch. wie bekomme ich denn den gerenderten
Output in einen String? Irgendwie mit dem HtmlTextWriter


Danke,
Alex


Alexander Widera

unread,
Mar 22, 2006, 6:34:41 AM3/22/06
to
Ich habe eine Problemlösung gefunden, für die die es interessiert:
StringBuilder sb = new StringBuilder();

StringWriter sw = new StringWriter(sb);

HtmlTextWriter htmlTW = new HtmlTextWriter(sw);

myControl.RenderControl(htmlTW);

String s = sb.ToString();


Danke für die Hilfe,
Alex

Hannes Pavelka

unread,
Mar 22, 2006, 6:58:13 AM3/22/06
to
Alternativ natürlich auch durch überschreiben der Render Methode möglich:

protected override void Render(HtmlTextWriter writer)
{


StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);

writer.InnerWriter = sw;
base.Render(writer);
//sw and sb contain the rendered outpout now...
}

Hannes Pavelka
blog: http://www.hannes-pavelka.com

Newsbeitrag news:uJ00iSaT...@TK2MSFTNGP14.phx.gbl...

0 new messages