1

試している Web パーツがあり、グリッドビューを印刷しようとしています。コード ビハインド用のパブリック クラスが 1 つある ascx.cs があります。ここでグリッドを印刷するメソッドを作成しました:

        protected void print_grid_2_Click(object sender, EventArgs e)
        {
            fill_grid_search();
            grd_search.AllowPaging = false;
            grd_search.DataBind();
            StringWriter sw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(sw);
            grd_search.RenderControl(hw);
            string gridHTML = sw.ToString().Replace("\"", "'")
                .Replace(System.Environment.NewLine, "");
            StringBuilder sb = new StringBuilder();
            sb.Append("<script type = 'text/javascript'>");
            sb.Append("window.onload = new function(){");
            sb.Append("var printWin = window.open('', '', 'left=0");
            sb.Append(",top=0,width=1000,height=600,status=0');");
            sb.Append("printWin.document.write(\"");
            sb.Append(gridHTML);
            sb.Append("\");");
            sb.Append("printWin.document.close();");
            sb.Append("printWin.focus();");
            sb.Append("printWin.print();");
            sb.Append("printWin.close();};");
            sb.Append("</script>");
            Page.ClientScript.RegisterStartupScript(this.GetType(), "GridPrint", sb.ToString());
            fill_grid_search();
            grd_search.AllowPaging = true;

            grd_search.DataBind();
        }

次に、次のコード スニペットを使用してフォーム タグを確認しました。

 public override void VerifyRenderingInServerForm(Control control)
        {
            return; /*Verifies that the control is rendered */
        }

次に、デバッガーから「オーバーライドする適切なメソッドが見つかりません。」というメッセージが表示されます。この1つのボタンイベントのためだけに部分クラスを作成せずにこれを行う方法はありますか?

4

0 に答える 0