Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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/ajax/6.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
如何使用Jquery/Ajax在MVC控制器中将参数传递给CSV导出方法_Jquery_Ajax_Csv_Fileresult - Fatal编程技术网

如何使用Jquery/Ajax在MVC控制器中将参数传递给CSV导出方法

如何使用Jquery/Ajax在MVC控制器中将参数传递给CSV导出方法,jquery,ajax,csv,fileresult,Jquery,Ajax,Csv,Fileresult,在我的视图中,我有一个按钮,用于在当前数据视图中导出CSV。这是指向控制器中方法的简单链接 <input type="button" value="Exporter" id="btnexport" class="btnsearch" onclick="location.href='@Url.Action("ExportCSV", "AuditAddins")'" /> 它工作得很好。但是我需要向这个方法发送一个参数,因为我有三个设计模式,每个模式都有自己的列顺序。因此,我创建了一个

在我的视图中,我有一个按钮,用于在当前数据视图中导出CSV。这是指向控制器中方法的简单链接

<input type="button" value="Exporter" id="btnexport" class="btnsearch" onclick="location.href='@Url.Action("ExportCSV", "AuditAddins")'" />
它工作得很好。但是我需要向这个方法发送一个参数,因为我有三个设计模式,每个模式都有自己的列顺序。因此,我创建了一个jquery/ajax脚本来发送参数

$("#btnexport").click(function () {
    var index = $('#CritID').find('option:selected').val();
    var d = { chx: index}
    $.ajax({
        url: "/AuditAddins/ExportCSV",
        type: "POST",
        data: d,
        success: function (data) {
            alert("Export ok !");
        },
    });
});
主要目标是改变出口方式,如下所示:

 public void ExportCSV(int chx)
    {
        ...
        switch (chx)
        {
            case 1:
                sw.WriteLine(String.Format("{0};{1};{2};{3};{4}", "Date", "AddinName", "IsAddinActive", "UserName", "PcName"));
                break;
            case 2:
                sw.WriteLine(String.Format("{0};{1};{2};{3};{4}", "Date", "UserName", "PcName","AddinName", "IsAddinActive"));
                break;
            ...
        }

问题是我没有IE下载窗口了。我尝试过actionresult方法,它也不起作用

您不必使用
POST
发送参数

相反,您可以向
GET
请求添加一个参数:

/AuditAddins/ExportCSV?index=2
如果未提供参数,则默认为1

要发送多个参数,可以使用
&
将它们分开:

/AuditAddins/ExportCSV?index=2&param2=123

这也可以解决下载窗口的问题。

您不必使用
POST
发送参数

相反,您可以向
GET
请求添加一个参数:

/AuditAddins/ExportCSV?index=2
如果未提供参数,则默认为1

要发送多个参数,可以使用
&
将它们分开:

/AuditAddins/ExportCSV?index=2&param2=123

这也可以解决下载窗口的问题。

我已经尝试过:var url=“/AuditAddins/ExportCSV?chx=1”;$。get(url,null,函数(数据){alert(“done”);});但它不起作用。@mrplush-您是否也在服务器端处理/处理该参数?是的。我有断点,我看到paramater可以工作,csv也可以创建。但是我不明白为什么IE小下载弹出窗口没有出现。@mrplush-这很奇怪-它应该和没有参数的情况下工作完全一样。csv是否会显示在浏览器中?否。。。什么也没发生。我正在使用一个.done(函数(result){alert(“done”);});我是否需要更改警报(“完成”)?我确实需要Jquery来获取mode dropdownlist的值(这是参数)。get(url,null,函数(数据){alert(“done”);});但它不起作用。@mrplush-您是否也在服务器端处理/处理该参数?是的。我有断点,我看到paramater可以工作,csv也可以创建。但是我不明白为什么IE小下载弹出窗口没有出现。@mrplush-这很奇怪-它应该和没有参数的情况下工作完全一样。csv是否会显示在浏览器中?否。。。什么也没发生。我正在使用一个.done(函数(result){alert(“done”);});我是否需要更改警报(“完成”)?我真的需要Jquery来获取modedropdownlist的值(这是参数)。