我在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操作中的所有数据均为空。我想知道什么是正确的方法。非常感谢。
答案 0 :(得分:1)
我在你的代码中看到两个问题:
在html中你没有指定链接的id,所以点击它只是导航到动作,这就是为什么你在参数中看到null - 没有被发送
它应该是:
<a id="ExportExcel" href="<%: Url.Action("ExportToExcel", "ExportExcelButton") %>"> <img src='<%: Url.Content("~/Content/Images/ExportExcelButton.gif") %>'/></a>
在$(文件).ready(..)