ASP.NET MVC-异步发送post请求+文件下载

news/2024/12/22 2:56:34/

环境:
win10, .NET 6.0


前端向后台传递string型变量

前端:

    function PasteSubmit() {// 获取某个input的值var inName = document.getElementById("xx").value;// 获取某个元素的属性值var inSeq = document.getElementById("xxx").getAttribute("xxx");$.ajax({type: 'POST',url: "/Home/PasteSubmit",data: {inName: inName,inSeq: inSeq,},success: function (resp) {console.log(resp);}});}

后台:(HomeController)

[HttpPost]
public ActionResult PasteSubmit() {// 获取数据string name = Request.Form["inName"]; string seq = Request.Form["inSeq"];System.Diagnostics.Trace.WriteLine(name);System.Diagnostics.Trace.WriteLine(seq);// do something// 返回的内容return Content("test");
}

前台向后台传递多个List

说明:先传递三个List,后台接收后做一些处理,然后回传字符串,将字符串写入文件,生成下载文件,自动下载。

前端:

@{
// 定义
List<int> cstarts = new List<int>() { 1, 2, 3};
List<int> cends = new List<int>() { 4, 5, 6 };
List<string> cstrs = new List<string>() { "", "sss", "x"};
}<!-- html内容略 --><button id="exportSeqBtn" onclick="exportSeq()" type="button">导出序列
</button><!-- js -->
<script>// 导出序列function exportSeq() {var starts = @Html.Raw(Json.Encode(cstarts));var ends = @Html.Raw(Json.Encode(cends));var strs = @Html.Raw(Json.Encode(cstrs));$.ajax({url: "/Home/ExportSeq",method: 'POST',data: JSON.stringify({vid: @Model.Id,cstarts: starts,cends: ends,cstrs: strs,}),contentType: 'application/json; charset=utf-8',success: function (data) {var blob = new Blob([data], { type: 'text/plain' });var link = document.createElement('a');link.href = window.URL.createObjectURL(blob);link.download = 'sequence.fa'; // 下载文件的文件名link.click();},error: function (xhr, status, error) {alert('An error occurred while generating the file: ' + error);}});}
</script>

后端

[HttpPost]
public ActionResult ExportSeq(string vid, List<int> cstarts, List<int> cends, List<string> cstrs) {var txtContent = new StringBuilder();// do somethingtxtContent.AppendLine(string.Join(",", cstarts));// 可以打印其他的看看return Content(txtContent.ToString(), "text/plain");
}

http://www.ppmy.cn/news/1533398.html

相关文章

记录|Modbus-TCP产品使用记录【摩通传动】

目录 前言一、摩通传动实验图1.1 配置软件 IO_Studio1.2 测试软件Modbus Poll1.2.1 读写设置测试1.2.2 AI信号的读取 1.3 对应的C#连接Modbus的测试代码如下【自制&#xff0c;仅供参考】1.4 最终实验图 更新时间 前言 参考文章&#xff1a; 自己需要了解和对比某些产品的Modbu…

基于 Qwen2.5-0.5B 微调训练 Ner 命名实体识别任务

一、Qwen2.5 & 数据集 Qwen2.5 是 Qwen 大型语言模型的最新系列&#xff0c;参数范围从 0.5B 到 72B 不等。 对比 Qwen2 最新的 Qwen2.5 进行了以下改进&#xff1a; 知识明显增加&#xff0c;并且大大提高了编码和数学能力。在指令跟随、生成长文本&#xff08;超过 8K…

怎么将bash(sh)的所有输出保存到log/txt中?

tee 命令 这会将所有输出同时显示在屏幕上并追加到日志文件中。 bash your_script.sh 2>&1 | tee -a log_file.txt 其他方法不可用 只使用 >> 不会将除了print之外的所有保存 bash your_script.sh >> log_file.txt >> 和 2>&1一起只会保存在日…

828华为云征文|部署个人知识管理系统 SiyuanNote

828华为云征文&#xff5c;部署个人知识管理系统 SiyuanNote 一、Flexus云服务器X实例介绍二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置2.4 Docker 环境搭建 三、Flexus云服务器X实例部署 SiyuanNote3.1 SiyuanNote 介绍3.2 SiyuanNote 部署3.3 Siyua…

Python机器学习框架介绍和入门案例:Scikit-learn、TensorFlow与Keras、PyTorch

Python机器学习框架介绍和入门案例 目录 &#x1f31f; 机器学习框架概述&#x1f4ca; Scikit-learn 2.1 模型选择与评估2.2 常用API&#xff08;fit、predict、score&#xff09;2.3 实现示例&#xff08;线性回归、K近邻&#xff09; &#x1f680; TensorFlow与Keras 3.1…

英伟达Ampere架构和Hopper架构技术解析

英伟达的Ampere架构和Hopper架构技术解析 英伟达Ampere与Hopper架构&#xff0c;两大GPU设计里程碑&#xff0c;显著提升性能与能效&#xff0c;适应不同应用场景&#xff0c;引领行业革新。 Ampere架构&#xff08;安培架构&#xff09; Ampere架构于2020年随NVIDIA A100计算…

CSP-J 复赛算法 贪心算法

文章目录 前言贪心算法贪心算法在生活中的例子贪心算法的基本思路&#xff1a;贪心算法适用问题&#xff1a;贪心算法适用问题示例&#xff1a;贪心算法流程图 排队接水问题问题分析算法步骤贪心算法证明代码实现代码解释&#xff1a;测试用例结论 总结 前言 在算法竞赛中&…

蓝桥杯模块二:数码管的静态、动态实现

模块二训练 1.静态显示 一、数码管电路图 二、电路分析 1.数码管电路分析 端口分公共端和段码&#xff0c;先用公共端控制一个数码管&#xff0c;再用段码实现显示数字。共阳数码管公共端输入高电平&#xff0c;段码输入低电平实现点亮 2.锁存器 Y7控制段码&#xff0c;Y6控…