
GridViewを使用して一覧表示
各行のボタンでファイルダウンロード(対象ファイルはExcel)機能を作成しております。
ヘルプ多種多様なWebページを参考に以下の状態まで作成しました。
1.GridViewの一覧表示
2.選択されたボタンの判別
3.隠した列のURLでファイルダウンロード実行
3.の処理で以下のエラーが発生してしまい。困っています。
『Microsoft JScript 実行時エラー:
Sys.WebForms.PageRequestManagerParserErrorException:
サーバーから受信したメッセージを解析できませんでした。』
有識者の方、よろしくお願いします。
検討違いかもしれませんが、
GridViewのデータ表示時、ボタンにはPOSTBACKするソースが無かった
ように見受けられました。この問題に関係があるのか
判りませんが載せさせていただきます。
環境
OS:XP 言語:C# VS2010 .NET FREM WORK4
・HTML
<asp:UpdatePanel ID="UpdatePanel3" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="GridViewhogeList" />
</Triggers>
<ContentTemplate>
<asp:GridView ID="GridViewhogeList" runat="server"
AllowPaging="True"
OnRowCreated="GridViewhogeList_RowCreated"
OnRowCommand="Gridesult_RowOnCommand">
<Columns>
<asp:TemplateField HeaderText="ダウンロード" >
<HeaderStyle Width="60px" />
<ItemStyle Width="60px" HorizontalAlign="center" />
<ItemTemplate>
<asp:Button ID="ButtonToDownLoad" runat="server"
CommandName="Page" Text="出力" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
・CS
protected void GridResult_RowOnCommand(object sender,
GridViewCommandEventArgs e)
{
// 選択行データを取得
GridViewRow row =
this.GridViewhogeList.Rows[int.Parse(e.CommandArgument.ToString())];
string URL = row.Cells[1].Text.ToString();
string strFileName = System.IO.Path.GetFileName(URL);
// ファイルダウンロード処理
Response.Clear();
Response.ContentType = "application /vnd.ms-excel"; ;
Response.Charset = "";
Response.AddHeader("content-disposition", "attachment;
filename=" + HttpUtility.UrlEncode("old_" + strFileName));
Response.WriteFile(URL);
//★Response.Endを実行すると3.のエラーが発生
Response.End()
No.1ベストアンサー
- 回答日時:
<asp:UpdatePanel>でAsp.Net AjaxのUpdatePanelになっているからでは?
トリガボタンが発生させるのは、Ajax Callで、内部的にJavaScriptのコールバックルーチンが呼ばれています。
<asp:UpdatePanel ID="UpdatePanel3" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="GridViewhogeList" />
</Triggers>
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
を取り去って、通常のPostbackするWebフォームにしてしまえば動作します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ASP内で他のASPファイルを読み...
-
クレイトンって?
-
画面のリフレッシュを意図的に...
-
ASPのテスト開発環境について
-
aspx.csファイルでマウスオーバ...
-
ASPプログラミングでADODB.C...
-
ネットワーク上のPCのIPとホス...
-
C# try-catch でcatchに飛ばす方法
-
Response.Redirectで引数2つの...
-
ADSIについて
-
IIS7.5の設定の仕方
-
TCPサーバ bind関数のエラーに...
-
vbscriptでWordのヘッダーを変更
-
AutoPostBackにしているが、う...
-
FileCopy時のエラー
-
ASP.NET C# ローカルのパスが呼...
-
エラー内容について
-
ソケット通信で同時受信の制限?
-
ASP.netで使用するWEBサーバに...
-
オラクル接続をopenしようとす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ASP内で他のASPファイルを読み...
-
ASPのテスト開発環境について
-
ASP.NET GRID VIEWの画像表示
-
画面のリフレッシュを意図的に...
-
クレイトンって?
-
ASPからのファイル検索
-
C# のプログラミングについて
-
.html ファイルでasp実行?
-
VBScriptで他のファイルにある...
-
ネットワーク上のPCのIPとホス...
-
C# try-catch でcatchに飛ばす方法
-
ソケット通信で同時受信の制限?
-
EXECLマクロでshapeがグルーフ...
-
エクセルVBA 宣言Dimの場所
-
GridView表示の高速化
-
式はメソッドではありませんと...
-
FileCopy時のエラー
-
Response.Redirectで引数2つの...
-
ASP更新・変更ができない
-
CreateObject("Excel.Applicati...
おすすめ情報