Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 允许用户将html列表的内容保存到文本文件_C#_Javascript_Asp.net_Vb.net_Text Files - Fatal编程技术网

C# 允许用户将html列表的内容保存到文本文件

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无法访问本地文件系统 另一种方法是在服务器上创建一个文件(物理地或动态地),并使其可供用户下载。这将使他进入“保存文件”对话框 要动态执行此操作,请创建一个空白页面

我正在开发一个基于用户输入生成输出列表的应用程序(ASP.NET、Webforms)。我想允许用户将所述列表的内容保存为文本文件,或可能保存为其他文件类型,如.csv。最好的方法是什么?可以用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头内容处置。请参阅