FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 2433|回复: 0
打印 上一主题 下一主题

【经验分享】FineUICore中如何处理文件导出异常?

[复制链接]
跳转到指定楼层
楼主
发表于 2020-6-5 23:15:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是一个来自知识星球网友的提问:





答复:

===============

导出时就不能用 UIHelper.Result(); 了,UIHelper.Result()需要配合 F.doPostBack 回发时才可用(AJAX回发)。

我之前有一篇文章详细描述 UIHelper 的用法,可以参考:

UIHelper是个什么梗?


===========================
Post导出时,其实是对表单的提交:
<!-- 隐藏表单,用于自定义POST请求 -->
<form id="myform" asp-page-handler="ExportToExcel" method="post">
<input type="hidden" id="content" name="content" />
</form>


// HTTP - Post
function onButton2Click(event) {
    // 自定义POST请求
    $('#content').val(F.toJSON(getUserInputs()));
    $('#myform')[0].submit();
}


说白了就是页面整体提交(不是AJAX)。
===============


有两种解决办法:
1. 直接返回当前页面:
Alert.Show("上传出错了!");
return Page();

这有个弊端,如果是POST提交后,URL地址改变了,此时按F5刷新页面时,浏览器会弹出提示框【是否重复提交数据】



2. 推荐的做法:跳转到一个出错的页面
return RedirectToPage("/Grid/FileUploadError");

重定向时可以带URL参数,类似如下代码:
return RedirectToPage("/Grid/FileUploadError", new { message = "上传出错了!" });

会跳转到如下URL:/Grid/FileUploadError?message=上传出错了!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-25 10:51 , Processed in 0.043496 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表