【发布时间】:2016-02-10 07:06:12
【问题描述】:
我正在尝试在网页上创建一个链接,单击该链接应在客户端上下载/打开一个文本文件,其中包含我在运行时呈现的内容。将文件保存在服务器端不是一种选择,因为文件的内容会根据我作为网页上的一项功能而拥有的用户过滤器进行更改。
在我的 page.cshtml 上,我有以下内容:
$.ajax({
type: "GET",
url: 'Home/GetTable',
contentType: "application/json; charset=utf-8",
dataType: 'html',
success: function (data) {
$("#tab1").append(data.toString());
},
error: function (data, errorThrown) {
alert(errorThrown);
}
});
控制器构造 HTML 代码并将其传递回视图。我的控制器代码如下:
public string GetTable()
{
string result = @" <tr>
<th>Column1</th>
<th>Column2</th>
<th>Link</th>
</tr>
<tr>
<td>Data1</td>
<td>Data2</td>
<td><a download href=""file.txt"">Click me</a></td>
</tr>";
Response.AddHeader("Content-Disposition", "Attachment;filename=targetFileName.txt");
return result;
}
我无法继续在服务器上创建 file[X].txt,因为它的内容每次都会根据用户的过滤器而变化,而我在代码中还有其他逻辑。另外,如果我一开始没有文件,我应该在哪里输入我的数据作为文件的内容?
解决这个问题的最佳方法是什么?
【问题讨论】:
标签: javascript c# jquery html razor