*   >> Læs Uddannelse artikler >> science >> programming

ASP.NET - C # - Brug usercontrols som Mail Templates

En fuldt CODE-formaterede kopi af denne artikel findes PÅ CODEGOLEM BLOG

UPDATE: Du kan også læse denne artikel om CODING en genanvendelig HELPER MAILER CLASSable at sende templatede e-mails med indlejret Images of

Husk du kan bruge enhver UserControl, med nogen form for barnets kontrol i det.For eksempel dette kunne være en ordrebekræftelse mail, med en GriView bundet til en DataTable .eller måske en brugerregistrering e-mail, ved hjælp af en FormView et resumé af brugerens profildata.


Jeg vil bruge en simpel UserControl med en enkelt etiket, bare for at vise, hvordan det hele fungerer.

< p> [kode: html]

Hej

Dette er en UserControl-baserede mail-skabelon [/code]

Dette er en UserControl som dem vi normalt bruger i vores. webprojekter.

Jeg bruger her en etiket som en pladsholder for destinationen name.We kunne bruge så mange sådanne mærker efter behov i vores skabelon, eller endda billeder, så længe deres ImageURL er sat til absolutte URL'er .

Andet trin: erklære en interface til vores skabelon

[kode: c #].

offentlig grænseflade IMailTemplate {string DestinationName {få; sæt; }} [/code]

Vi vil få adgang til vores skabelon felt gennem denne grænseflade

Lad os ændre vores UserControl s codebehind at få det gennemføre IMailTemplate interfacet

[kode..: c #] offentlige delvis klasse TemplateMailer_MailTemplate: System.Web.UI.UserControl, IMailTemplate {public string DestinationName {få {vende tilbage DestinationNameLabel.Text; } Sæt {DestinationNameLabel.

Text = værdi; }}} [/Code]

Vores DestinationName ejendom får og indstiller værdien af ​​Label vi brugt som en pladsholder.

Endelig, for at fuldføre denne lidt magi, her er koden til at oprette a. MailMessage ved hjælp af HTML-kode genereret af vores skabelon UserControl

Sige vi har en ASPX side med en knap til at generere og sende e-mail.This kunne være en simpel implementering af sin OnClick event handleren:

[kode: c #] beskyttede ugyldig SubmitButton_Click (objekt afsender, EventArgs e) {Kontrol mailTemplate = LoadControl ("MailTemplate.

ascx"); ((IMailTemplate) mailTemplate) .DestinationName = "Destination navn"; StringBuilder stringBuilder = ny StringBuilder (); StringWriter stringWriter = ny StringWriter (stringBuilder); HtmlTextWriter htmlTextWriter = ny HtmlTextWriter (stringWriter); mailTemplate.RenderControl (htmlTextWriter); htmlTextWriter.Close ();

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.