メールでリピーターを使用して取得したテーブルを送信する必要があります。リピーターをメール本文に埋め込む方法の例はありますか? MailMessage を使用してメールを送信しています。この例を実装しようとしました:
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite =
new HtmlTextWriter(stringWrite);
MyRepeater.RenderControl(htmlWrite);
string emailContent = stringWrite.ToString();
しかし、エラーがあります:
Control ''m_repeater_btn" of type 'LinkButton' must be placed inside a form tag with runat=server.
タグフォームを入れてもエラーになるのですが、どうやって付ければいいですか?
これは私のasp.netページです:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="ViewMySisters.aspx.cs" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<asp:Repeater ID="MyRepeater" runat="server">
<HeaderTemplate>
<table style="border-collapse:collapse; border:1px solid grey;" width="500">
<tr>
<td style="border: 1px solid grey;">firstname</td>
<td style="border: 1px solid grey;">lastname</td>
<td style="border: 1px solid grey;">age</td>
<td style="border: 1px solid grey;">work experienes</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td style="border: 1px solid grey;"><%# DataBinder.Eval(Container.DataItem, "NAME")%></td>
<td style="border: 1px solid grey;"><%# DataBinder.Eval(Container.DataItem, "FAMILY NAME")%></td>
<td style="border: 1px solid grey;"><%# DataBinder.Eval(Container.DataItem, "AGE")%></td>
<td style="border: 1px solid grey;"><asp:LinkButton ID="btn" runat="server" Text=">>>>" OnCommand="btnDetails_Command" CommandArgument='<%# Eval("ID") %>' /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<br />
<asp:Button ID="sendMail" runat="server" Text="send" OnClick="sendmail_Clicked" />
</asp:Content>