2012-11-22 23 views
0

我在我的页面上有一个中继器,其中有一个FooterTemplate,其中有一个Literal,我在该页面的LoadComplete事件中写入该中继器。中继器只将其一半的FooterTemplate呈现到我的流中

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 

问题是我的电子邮件出来的一切,在表中,除了最后一行在总加增值税云:

No total plus VAT row

有没有人知道为什么?

编辑:

检查我的电子邮件客户端的来源,我发现,从我希望该行的<tr><td>是有,但没有别的。这就像我正在从流中读取得太早,但我认为RenderControl会在控制权返回给调用者之后完成。

+1

我认为这可能是CSS问题,使用萤火虫检查该元素是否存在或不存在? –

+0

检查元素是否存在的好通话,我已经更新了我的问题。 – Sean

回答

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 
相关问题