2012-01-02 4 views
-3

Cバルクasp.netを使用して印刷を、私はロールを入力したときに、それはすべての科目で得られた名前、マークが表示され、合格へ/学生の失敗と私は印刷ボタンをクリックし印刷することができます。しかし問題は、[印刷]ボタンで1回だけクリックすることで、すべての生徒の記録を連続して印刷したいということです。 私はこの方法#

for(int i=1;i<studentno.count;i++) 
{ 
    bindgrid(i); // i is the roll no of the student 
    Session["ctrl"] = Panel1; 
    ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script language=javascript>window.open('Print.aspx','PrintMe','height=300px,width=300px,scrollbars=1');</script>"); 
} 

のようなループを使用ししかし、それは最後のものだけを印刷します。

+4

を私は本当にPrint.aspxが何をするのか理解に問題が生じていますし、印刷は、あなたがより多くを説明し、あなたのhead.Canに何を意味するのでしょうか? – Bastardo

答えて

1

ClientScript.RegisterStartupScriptとあなたのセッション[「CTRL」]変数は、ループの各繰り返しで上書きされますので、スクリプトは唯一最後の反復で登録すると、あなたがPanel1の最終的な状態になってしまいますセッション変数。

実際にPrint.aspxページの動作に依存しますが、バインドされたすべてのグリッド(何らかの形式、おそらくHTMLからString)をArrayListに追加して、それをSession ["ctrl" ]そして変数、ループの後RegisterStartupScript

ArrayList student_grids = new ArrayList(); 
for(int i=1;i<studentno.count;i++) 
{ 
    bindgrid(i); // i is the roll no of the student 
    student_grids.Add(current_grid); // where current_grid is bound grid at i (in some useful format) 
} 
Session["ctrl"] = student_grids; 
ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script language=javascript>window.open('Print.aspx','PrintMe','height=300px,width=300px,scrollbars=1');</script>"); 
+0

まずはどうもありがとうございます。しかし、私は次のエラーメッセージがあるPrint.aspxページでもう一つの問題があります**** 'System.Web.UI.Control'を入力するために 'System.Collections.ArrayList'型のオブジェクトをキャストすることができません。 – user1125135

+0

セッションvarをPrint.aspxページのArrayListにキャストする必要があります。ArrayList student_grids =(ArrayList)Session ["ctrl"];そこから、必要に応じてArrayListを使用します。 – Brissles

+0

誰でもプロジェクト全体を入れることができますか? – user1125135