2012-11-22 3 views
0

내 페이지의 FooterTemplate에 내 페이지의 LoadComplete 이벤트에 쓸 Literal이라는 리피터가 있습니다. 다음과 같이Repeater는 내 스트림에 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> 

나는 내가 화면에 표시되는 총과 총 플러스 VAT를 얻을 수 있기 때문에 내 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 

문제는 내 이메일이 전체 플러스 VAT가가는 마지막 행을 제외하고 표에 모든 것을 함께 온다 :

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 
관련 문제