C# 允许用户将html列表的内容保存到文本文件
我正在开发一个基于用户输入生成输出列表的应用程序(ASP.NET、Webforms)。我想允许用户将所述列表的内容保存为文本文件,或可能保存为其他文件类型,如.csv。最好的方法是什么?可以用Javascript在客户端完成吗?我认为您需要使用C# 允许用户将html列表的内容保存到文本文件,c#,javascript,asp.net,vb.net,text-files,C#,Javascript,Asp.net,Vb.net,Text Files,我正在开发一个基于用户输入生成输出列表的应用程序(ASP.NET、Webforms)。我想允许用户将所述列表的内容保存为文本文件,或可能保存为其他文件类型,如.csv。最好的方法是什么?可以用Javascript在客户端完成吗?我认为您需要使用ActiveX或Java小程序或Silverlight来完成类似的操作。JavaScript无法访问本地文件系统 另一种方法是在服务器上创建一个文件(物理地或动态地),并使其可供用户下载。这将使他进入“保存文件”对话框 要动态执行此操作,请创建一个空白页面
ActiveX
或Java小程序
或Silverlight
来完成类似的操作。JavaScript无法访问本地文件系统
另一种方法是在服务器上创建一个文件(物理地或动态地),并使其可供用户下载。这将使他进入“保存文件”对话框
要动态执行此操作,请创建一个空白页面(没有任何标记。甚至没有),设置
Response.ContentType='text/plain'
并使用Response.Write()
要在页面加载中编写内容
我认为您需要使用ActiveX
或Java小程序
或Silverlight
来执行类似操作。JavaScript无法访问本地文件系统
另一种方法是在服务器上创建一个文件(物理地或动态地),并使其可供用户下载。这将使他进入“保存文件”对话框
要快速完成此操作,请创建一个空白页面(没有任何标记。甚至没有),设置
Response.ContentType='text/plain'
,并使用Response.Write()
在page\u Load
中写入内容。您可以通过构造和打开
使用jQuery的示例:
window.open(
'data:text/csv;charset=utf-8,' +
escape(
$('#yourlist li') // <- selector for source data here
.map(function(){
// format row here
return $(this).text();
})
.get()
.join('\r\n')
)
);
window.open(
'数据:text/csv;字符集=utf-8',+
逃脱(
$('#yourlist li')//通过构造和打开
使用jQuery的示例:
window.open(
'data:text/csv;charset=utf-8,' +
escape(
$('#yourlist li') // <- selector for source data here
.map(function(){
// format row here
return $(this).text();
})
.get()
.join('\r\n')
)
);
window.open(
'数据:text/csv;字符集=utf-8',+
逃脱(
$(“#你的名单里”)//有没有办法在服务器端执行此操作,然后将结果文件传递给客户端?有没有办法在服务器端执行此操作,然后将结果文件传递给客户端?以下是我对代码的修改:。问题是,如何执行此操作,以便实际提示用户将文件保存到磁盘?这主要是媒体类型的问题在URI的开头指定。如果浏览器认为它可以处理媒体类型text/plain
,它将显示它,但使用text/csv
这样的媒体类型,浏览器将放弃它。application/octet stream
强制在Firefox中下载,但在Chrome中根本不适用于我。为了精确控制r浏览器行为您确实需要使用HTTP头,尤其是内容配置。请参阅以下是我对代码的修改:。但是,问题是,我如何使其实际提示用户将文件保存到磁盘?这主要是URI开头指定的媒体类型的问题。如果浏览器认为它可以处理媒体类型text/plain
将显示它,但如果使用text/csv
等媒体类型,浏览器将自动切换。application/octet-stream
强制在Firefox中下载,但在Chrome中根本不适用于我。要精确控制浏览器行为,尤其需要使用HTTP头内容处置。请参阅