2017-01-18 14 views
0

UpdatePanelにGridviewを使用しています。 TimerがGridview内のいくつかの項目をチェックしています。 GridViewのでは私がアップロードを表示するための列を生成します。後ろのUpdatePanelのエラー:コードが最適化されているかネイティブフレームがコールスタックの上にあるため式を評価できません

<asp:TemplateField HeaderText="Zeichnung" ItemStyle-HorizontalAlign="Center"> 

コード:

Response.ClearHeaders(); 
Response.ContentType = "application/pdf"; 
Response.Clear(); 
Response.AppendHeader("Content-Disposition", "attachment;Filename=" + Upload); 
Response.TransmitFile(Page.MapPath("App_data/OPL/Upload/" + Upload)); 
Response.End(); 

すべて加工さ:

ImageButton ibtn = new ImageButton(); 
ibtn.CommandArgument = Upload; 
ibtn.Click += btn_clicked; 
ibtn.ImageUrl = "~/images/download.png"; 
ibtn.ToolTip = "Zeichnung öffnen"; 
gvr.Cells[20].Controls.Add(ibtn); 

ダウンロードを開始ボタンをクリックします私がUpdatePanelにgridviewを置くまで、うまくいきます。今では、エラーがスローされます。

Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack

私はHttpContext.Current.ApplicationInstance.CompleteRequest();Response.End()を交換しようとしましたが、何も変わっていません。

ここに書かれているように(question)そのポストバックの問題。解決策はありそうです

protected void Page_Load(object sender, EventArgs e) { 
ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page); 
scriptManager.RegisterPostBackControl(this.btnExcelExport); 
//Further code goes here.... 
} 

ボタンが生成され、gridviewで指定されていないため、このコードを追加できません。 scriptManager.RegisterPostBackControl(this.btn_Upload);を追加しようとしましたが、ボタンを見つけられません。

どうすればこの問題を解決できますか?ありがとう

答えて

1

考えられる解決策は、全体としてのポストバックコントロールとしてgridviewを登録することです。 ScriptManager.RegisterPostBackControl(this.gvr);

+0

ありがとうございました! –

関連する問題