4

我在 MVC2 中有一个页面,其中包含一个网格和图像按钮。单击图像按钮时,currentPage、orderBy 和 filter 将被发送到 JQuery 中的控制器。代码是,

<script type="text/javascript">
$("#ExportExcel").click(function (e) {
e.preventDefault();

var resourceId = $('#resourceId').val();
var grid = $('#Grid').data('tGrid');
var pagenum = grid.currentPage;
var orderBy = grid.orderBy
var filter = grid.filterBy;

$.ajax({
url: '@Url.Action("ExportToExcel", "ExportExcelButton")',
data: { resourceId: resourceId, pagenum: pagenum, orderBy: orderBy, filter: filter },
type: 'POST',
success: function (data) {
}
});
});
</script>

<a href="<%: Url.Action("ExportToExcel", "ExportExcelButton") %>"> <img src='<%: Url.Content("~/Content/Images/ExportExcelButton.gif") %>'/></a>

public ActionResult ExportToExcel(string resourceId, string pagenum, string orderBy, string filter)

但是,当单击图像按钮时,ExportToExcel 操作中的所有数据都为空。我想知道什么是正确的方法。非常感谢。

4

1 回答 1

0

我在您的代码中看到两个问题:

  1. 在 html 中,您没有指定链接的 id,因此单击它只是导航到操作,这就是您在参数中看到 null 的原因 - 没有发送
    它应该是:

    <a id="ExportExcel" href="<%: Url.Action("ExportToExcel", "ExportExcelButton") %>"> <img src='<%: Url.Content("~/Content/Images/ExportExcelButton.gif") %>'/></a>
    
  2. 在 $(document).ready(..) 期间将脚本标记放在链接减速或绑定下方

于 2012-07-18T13:40:55.123 回答