Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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/2/csharp/280.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
Javascript 在站点上单击按钮时,打开另存为对话框的正确方式是什么?_Javascript_C#_Jquery_File_Model View Controller - Fatal编程技术网

Javascript 在站点上单击按钮时,打开另存为对话框的正确方式是什么?

Javascript 在站点上单击按钮时,打开另存为对话框的正确方式是什么?,javascript,c#,jquery,file,model-view-controller,Javascript,C#,Jquery,File,Model View Controller,~编辑更多信息~ 在“另存为”对话框中单击“保存”按钮时,我有3种不同的文件格式供用户选择 需要保存的数据已经存储在网站的后端(因此没有任何表单中的数据需要发送到后端) 因此,我会在前端(html、javascript)触发一个函数,该函数调用后端的一个函数(mvc控制器函数),该函数使用数据输出“另存为”对话框,并具有以3种不同格式保存的选项。或者在前端触发一个函数,从后端获取数据,并在前端输出另存为对话框(使用javascript/html) ~END编辑~ 单击站点上的按钮时,打开“另存为

~编辑更多信息~

在“另存为”对话框中单击“保存”按钮时,我有3种不同的文件格式供用户选择

需要保存的数据已经存储在网站的后端(因此没有任何表单中的数据需要发送到后端)

因此,我会在前端(html、javascript)触发一个函数,该函数调用后端的一个函数(mvc控制器函数),该函数使用数据输出“另存为”对话框,并具有以3种不同格式保存的选项。或者在前端触发一个函数,从后端获取数据,并在前端输出另存为对话框(使用javascript/html)

~END编辑~

单击站点上的按钮时,打开“另存为”对话框的正确方式是什么

使用javascript似乎不是打开“另存为”对话框的正确方法。我目前正在使用MVC,所以问题是我是否有一个按钮可以触发后端的一个函数(C#controller函数)来打开“另存为”对话框


我似乎找不到实现保存按钮的正确(最佳)方法的直接信息,因此非常感谢任何信息

将保存按钮张贴到FileResult控制器操作。用户是否获得另存为对话框,或文件是否仅保存到默认下载目录,取决于用户的浏览器设置

    public FileResult DownloadFile(int fileId)
    {
        byte[] fileContentByteArray = YourMethodHere(fileId);
        return File(fileContentByteArray, "MIME type goes here", "Suggested file name goes here");
    }

“另存为”对话框,用于什么?^+在服务器上运行C#代码时,无法从前端触发任何东西(即对话框)。为什么Javascript不是正确的方法?我想,这是唯一的办法。即使是服务器端实现也会以某种方式使用Javascript。请详细说明原因。@epascarello&vivek I添加了更多信息。对不起,我应该说得更清楚些!前端不需要什么花哨的东西。。。只需使用指向服务器路径的链接即可输出为文件。如果我想强制执行保存对话框,因为用户在保存时可以选择3种不同的格式,该怎么办?这3种格式是什么?您是否需要为每个文件指定不同的文件内容?如果我这样做的话,我会给用户一组单选按钮,在点击save之前选择格式,或者为每种格式提供单独的save按钮。