我无法让我的 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 项目中可能发生了什么导致它不起作用吗?