0

我的页面上有一个转发器,除其他外,其中有一个我在页面事件中写入的FooterTemplate带有 a的内容。LiteralLoadComplete

FooterTemplate如下:

<FooterTemplate>
        <tr>
            <td colspan="3">
                &nbsp;
            </td>
        </tr>
        <tr>
            <td>
                &nbsp;
            </td>
            <td>
                <b>Total:</b>
            </td>
            <td align="right">
                <asp:Literal runat="server" ID="ltrBasketTotal" />
            </td>
        </tr>
        <tr>
            <td>
                &nbsp;
            </td>
            <td>
                <b>Total inc. VAT:</b>
            </td>
            <td align="right">
                <asp:Literal runat="server" ID="ltrBasketTotalPlusVAT" />
            </td>
        </tr>
    </table>
</FooterTemplate>

我知道我的LoadComplete方法运行良好,因为我在屏幕上显示了总额和总额加上增值税。在我的PlaceOrder方法中,我将转发器的内容呈现到流中以包含在电子邮件中:

Using mStream As New System.IO.MemoryStream()

    Using writer As New System.IO.StreamWriter(mStream)

        Using rptSummaryContentWriter As HtmlTextWriter = New HtmlTextWriter(writer)

            rptSummary.RenderControl(rptSummaryContentWriter)

            Dim reader As New System.IO.StreamReader(mStream)
            reader.BaseStream.Position = 0

            customerOrderMail.Body = "Dear " & Session("displayname") & ",<br /><br />Thank you for your order through MyPortal, your reference for this order is " & newQuoteID.ToString() & ". Below is a summary of your order.<br /><br /><br />" & reader.ReadToEnd()

        End Using

    End Using

End Using

问题是我的电子邮件包含表格中的所有内容,除了总加增值税的最后一行:

无总计加增值税行

有人知道为什么吗?

编辑:

检查我的电子邮件客户端中的来源,我发现我想要的行中的<tr>and<td>在那里,但没有别的。就像我过早地从流中读取,但我认为RenderControl它会在将控制权返回给调用者之后完成?

4

1 回答 1

0

原来我只需要在使用RenderControl.

rptSummary.RenderControl(rptSummaryContentWriter)

rptSummaryContentWriter.Flush()

Using reader As New System.IO.StreamReader(mStream)

    reader.BaseStream.Position = 0

    customerOrderMail.Body = "Dear " & Session("displayname") & ",<br /><br />Thank you for your order through MyPortal, your reference for this order is " & newQuoteID.ToString() & ". Below is a summary of your order.<br /><br /><br />" & reader.ReadToEnd()

End Using
于 2012-11-23T11:29:47.307 回答