4

グリッドと画像ボタンを含む MVC2 のページがあります。画像ボタンがクリックされると、currentPage、orderBy、およびフィルターが 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 アクションですべてのデータが null になります。私はそれを行う正しい方法は何だろうと思います。どうもありがとう。

4

1 に答える 1

0

あなたのコードには 2 つの問題があります。

  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 に答える