Webアプリケーションにasp:Wizardコントロールがあります。ウィザード内の任意のステップで印刷でき、現在のステップだけでなく、そのステップまでのすべてのステップを印刷できる必要があります。
すべてのステップページに印刷ボタンを追加し、javascript:window.Print()を呼び出そうとしましたが、現在のステップのみが印刷されます。
すべての手順を1ページに印刷するにはどうすればよいですか?
PDFルートを進む前に、まずjavascriptでこれを機能させたいと思います。私はこのような何かをしようとしました:
protected void Page_Load(object sender, EventArgs e)
{
StringWriter sw = new StringWriter();
HtmlTextWriter tw = new HtmlTextWriter(sw);
this.WizardStep2.RenderControl(tw);
string wizardHtmlContent = sw.ToString().Replace("\r\n", "");
string printScript = @"function printDiv(printpage)
{
var headstr = '<html><head><title></title></head><body>';
var footstr = '</body>';
var newstr = printpage;
var oldstr = document.body.innerHTML;
document.body.innerHTML = headstr+newstr+footstr;
window.print();
document.body.innerHTML = oldstr;
return false;
}";
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "PrentDiv", printScript, true);
this.Button1.Attributes.Add("onclick", "printDiv('" + wizardHtmlContent + "');");
}
そしてaspxの場合:
<form id="form1" runat="server">
<div>
<asp:Wizard ID="Wizard1" runat="server">
<WizardSteps>
<asp:WizardStep ID="WizardStep1" runat="server" Title="Step 1">
step1
</asp:WizardStep>
<asp:WizardStep ID="WizardStep2" runat="server" Title="Step 2">
step2
</asp:WizardStep>
</WizardSteps>
</asp:Wizard>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
しかし、ウィザードコントロールをレンダリングしようとすると、3行目にrunat = serverエラーが表示されないため、新しいウィンドウを作成してから、印刷する前に文字列を出力する必要があると思いますが、取得できないようです。その作業...誰かアイデアはありますか?