J'ai deux pages sur mon site qui sont peuplées avec le contenu d'une base de données ainsi que des champs saisis par l'utilisateur (ne demandez pas!). Les pages contiennent également un ListView avec une DataList imbriquée. Il y a des boutons sur ces pages qui, lorsque vous cliquez dessus, récupèrent le contenu html de la page, l'écrivent dans un HtmlTextWriter puis récupèrent le texte et le placent dans un email.Email contenu de Asp.Net page
Ce que je dois faire est de remplacer toute TextBox/DropDownLists dans la source html avec des équivalents littéraux de chaîne avant de mettre dans l'email.
Mon code ASPX donc ressemble beaucoup quelque chose comme ceci:
<div id="mailableContent" runat="server">
<asp:TextBox ID="txtMessage" runat="server"/>
<asp:Label ID="lblContentFromDb" runat="server"/>
<asp:ListView ID="lvwOffices" runat="server">
//loads of stuff here including more textboxes for the user to fill in
</asp:ListView>
</div>
et codebehind est quelque chose comme ceci:
StringBuilder stringBuilder = new StringBuilder();
StringWriter writer = new StringWriter(stringBuilder);
HtmlTextWriter htmlWriter = new HtmlTextWriter(writer);
mailableContent.RenderControl(htmlWriter);
MailMessage message = new MailMessage();
//do more stuff to set up the message object
message.Body = stringBuilder.ToString();
//send the message
Mes idées à ce jour sont à 1. définir manuellement les zones de texte Visible = false puis remplit les contrôles littéraux avec les valeurs correspondantes de la zone de texte, ce qui est plutôt désordonné et fastidieux. Remarque: Je dois supprimer les contrôles de saisie, sinon html pour que l'e-mail soit enveloppé avec un formulaire elemen que je ne veux pas vraiment faire. Y at-il un meilleur moyen de faire tout cela, je pense que peut-être faire quelques transformations xslt de style .Net1.1 avec le contenu de la page défini dans les fichiers xml pourrait être une meilleure façon d'aborder cela, mais je ne sais pas si cela traitera mon exigence où j'utilise actuellement un ListView avec une DataList imbriquée.
Merci pour le sugge stion, mais comment cela répond-il à l'exigence ListView/DataList? –
Je vais faire un deuxième essai, je ne suis pas sûr d'avoir compris la question. –