Asp.net MVC将ajax数据绑定到提交按钮

时间:2016-05-23 00:40:37

标签: c# ajax asp.net-mvc

我有一个从单选按钮获取数据的ajax代码。

  $("input[name='SelectedCG']").on('change', function () {
        $.ajax({
            url: '@Url.Action("FilterReports", "Reports")',
            data: { cgName: $("input[name='SelectedCG']:checked").val() },
            type: 'POST',
            success: function (data) {
                $('#reportTable').html(data);
                $('#reportTable').show();
            },
            error: function(xhr, status, error)
            {
                alert(xhr.responseText);
            }
        })
    });

我想将此数据绑定到提交按钮,该按钮可以将此信息传递给控制器​​中的方法。

<input type="submit" value="Export" class="btn btn-primary btn-large" onclick="location.href='@Url.Action("Export", "Reports")'">

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

最好将radioButton的值传递给Export方法并再次获取数据。无论如何,在以任何方式导出数据之前,您可能需要对该数据进行更多的工作。

此外,您可能需要检查用户导出此类数据的权限。

此外,您可能不希望通过网络来回传输此类数据。发送按钮的值比发送必须导出的数据集更容易(更快)。

更不用说还存在安全问题,具体取决于您处理收到的数据的方式以及是否正确?如果用户在点击导出按钮之前在浏览器中手动更改了什么?这会以某种方式损害您的应用程序的逻辑吗?您是否希望保护自己不受此影响?

最好是使用nnoremap ^[f <C-w><Right> 来包含HttpPost,以提交单选按钮值并检查用户的权限。