ASP.Net ページで、送信がクリックされたときに CSV を返すのに問題があります。Form.aspxの送信ボタン用に私が持っているaspボタンの定義は次のとおりです。
<asp:Button id="submitreport" name="submitbutton" text="submit" OnClick="Report_Submit" runat="server" />
そして、これは Form.aspx.cs の対応する関数です。
public void Report_Submit(object sender, EventArgs e) {
Debug.WriteLine("GETS HERE?");
Response.Charset = "UTF-8";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetAllowResponseInBrowserHistory(true);
Response.ContentType = "text/csv";
Response.AddHeader("Content-Disposition", "attachment; filename='" + DateTime.Today.ToString() + ".csv'");
Response.Write("test,output");
Response.End();
}
これを Visual Studio で実行すると、デバッグの印刷行さえ表示されません。セットアップの何が問題なのか誰か知っていますか?
編集: Form.aspx.cs の空の Page_Load 関数にブレークポイントを設定すると、VS がそこで中断するため、ページが正しく設定されていることは確かです。それに加えて、フォームの送信時にデバッグ書き込み行のブレークポイントがスキップされ、同じページが再び返されます。
更新ボタンとハンドラーだけで新しいプロジェクトを作成すると、Report_Submit() 関数が呼び出され、CSV ファイルが正しく生成されます。それはそれを少し絞り込むので、これが機能しない原因となっている私の他のVS 2008プロジェクトで何が起こっているのか知っている人はいますか?