それには多くの方法があります。
1つの方法は、文字列を作るpublic
public string emailbody="HTML i need to send";
aspx ページでは、次のようにレンダリングします。
<%=emailbody%>
もう 1 つの方法は、Literal コントロールを使用してそこにレンダリングすることです。UpdatePanel がある場合、これが唯一の方法です。
たとえば、テキストを次のようにレンダリングするポイントに、ページ上のリテラルを配置します。
<asp:Literal runat="server" id="txtRenderOnMe" />
コードビハインドで次のように入力します。
txtRenderOnMe.Text = "HTML i need to send";
さて、あなたの場合の問題は、他の jesse がコメントで指摘しているように、クォータなしで JavaScript コードに文字列をレンダリングすることです。
string emailbody="HTML i need to send";
Page.RegisterStartupScript("StatusMessage", "<script language=\"JavaScript\">function printsheet('" + emailbody + "'){var win = window.open('mywindow', 'left=0', 'top=0')var html = Zstring; win.document.open()win.document.write(html);win.print();}</script>");