0

過去 24 か月間にサーバーから返されたレコードのリストがあります。ユーザーが「過去 18 か月」、「過去 12 か月」、または「過去 24 か月」を選択できる選択メニューがあります。

デフォルトは 24 か月なので、ユーザーが初めてページにアクセスしたときに、完全なリストがサーバーから取得されます。ここで、ポストバックを使用せずに (サーバーへのトリップを節約する)、ユーザーが選択メニューから選択した内容に応じてデータをフィルター処理できますか?

私は jQuery モバイルとノックアウト js で ASP.NET MVC4 を使用しています。

ビュー内のテーブル (html):

        <table style="width:100%;">

<tbody data-bind="foreach: TankMixRows">
    <tr>
        <td data-bind="text: ProductName"></td>
        <td data-bind="text: AI"></td>
        <td></td>
        <td data-bind="text: MOAHerbicide"></td>
        <td data-bind="text: MOAInsecticide"></td>
        <td data-bind="text: MOAFungicide"></td>
    </tr>
</tbody>
    </table>

Javascript:

  function MOAViewModel() {
var self = this;

self.TankMixRows = ko.observableArray([]);

self.getTankMixRows = function () {
  $.ajax({
    type: "GET",
    url: '@Url.Action("jsonModeOfAction", "WorkOrders")',
    data: {
      ID: '@Model.RecFieldId'
    },
    success: function (data) {
      self.TankMixRows(data);
    }
  });
}

//Load initial state from server and populate viewmodel
self.getTankMixRows();
  }

  ko.applyBindings(new MOAViewModel());
4

1 に答える 1