form提交后如何获取提交完成事件?
环境:asp.net C# vs2008
问题:点击页面上“导出”按钮,弹出“正在导出对话框”,然后使用form提交方式实现execl导出功能。现在导出功能完成了,就是不知道如何在导出后自动关闭遮罩层,也就是说不知道form提交完成事件是什么。
后台:
我试着在ProcessDownloadRequest中添加context.Response.Write("导出成功"),结果连导出都没有了。。。
请问这个改怎么修改,当保存文件对话框显示时自动关闭遮罩?
问题:点击页面上“导出”按钮,弹出“正在导出对话框”,然后使用form提交方式实现execl导出功能。现在导出功能完成了,就是不知道如何在导出后自动关闭遮罩层,也就是说不知道form提交完成事件是什么。
//通过form.submit的方式实现导出execl的功能
function _exportExecl(params){
...//弹出正在导出对话框
var downloadHelper = $('<iframe style="display:none;" id="downloadHelper"></iframe>').appendTo('body')[0];
var doc = downloadHelper.contentWindow.document;
if (doc) {
doc.open();
doc.write('')//微软为doc.clear()有时会出bug
doc.writeln("<html><body><form id='downloadForm' name='downloadForm' method='post' action='" + params.url + "'>");
for (var key in params)
doc.writeln("<input type='hidden' name='" + key + "' value='" + params[key] + "'>");
doc.writeln('<\/form><\/body><\/html>');
doc.close();
var form = doc.forms[0];
if (form) {
form.submit(); //提交表单后如何得到完成事件?
}
}
}
后台:
public void ProcessDownloadRequest(HttpContext context, Dictionary<string, string> dic)
{
.....//通过NPOI生成EXECL
#region 下载文件
Stream iostream = exporter.SaveAsStream();
byte[] buffer = new byte[iostream.Length];
iostream.Position = 0;
iostream.Read(buffer, 0, buffer.Length);
iostream.Close();
var res = HttpContext.Current.Response;
res.ContentType = "application/octet-stream";
//通知浏览器下载文件而不是打开
res.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(Decode("exportname"), System.Text.Encoding.UTF8));
res.BinaryWrite(buffer);
res.Flush();
res.End();
#endregion
}
我试着在ProcessDownloadRequest中添加context.Response.Write("导出成功"),结果连导出都没有了。。。
请问这个改怎么修改,当保存文件对话框显示时自动关闭遮罩?
...全文
相关推荐
使用AJAX提交Form表单实例演示
使用AJAX提交Form表单实例演示
使用jquery提交form表单并自定义action的实现代码
下面小编就为大家带来一篇使用jquery提交form表单并自定义action的实现代码。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
使用jquery提交form表单并自定义action的方法
下面小编就为大家带来一篇使用jquery提交form表单并自定义action的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
php实现表单多按钮提交action的处理方法
表单内有两个提交按钮,要实现当点击不同的提交按钮时,分别进行两个不同的处理过程,在这里有实现表单多按钮提交action的处理方法分享给大家。 用PHP判断,一个表单两个按钮,按钮的name属性设为相同,但值设为不同,表单提交后,只需要判断提交上来的值就可以转到不同的处理过程去,这个方法比较合理,适合多个按钮在一个表单里。 PHP方法,代码如下: <?php echo "$sub\n"; if ("s1"==$sub) { ... } else if ("s2"==$sub) { ... } ?> <html> <head><title></title>
Asp.Net中跨页数据提交获取单选按钮的值
Asp.net中跨页数据提交,获取单选按钮的值 [示例]



