1

私はいくつかのhtmlコンテンツを持っていて、それを文字列変数に保存していて、それを直接印刷したい.C#で何か方法はありますか?

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>");
4

1 に答える 1

4

それには多くの方法があります。

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>");
于 2013-04-26T12:46:17.617 に答える