1

日付ピッカーの日付がクリックされたときにテーブルをフィルター処理しようとしています。私がしたことは、クリックされた日付を JSON として $.get を使用してコントローラーに送信し、linq を使用してテーブルをフィルター処理し、フィルター処理されたテーブルをモデルとしてビューを返すことでした。firebug を使用して応答を確認したところ、クリックされた日付に一致するテーブルを含む正しい html が表示されますが、ブラウザーには表示されません。これを修正するにはどうすればよいですか?

$("#adminCalendar").datepicker({
    onSelect: function (date) {
        $.get("/Administrator/DateFilter", { "date": date }, null);
    }
});

コントローラー:

    public ActionResult DateFilter(string date)
    {
        var dateTime = Convert.ToDateTime(date).ToShortDateString();

        var transactions = (from transaction in db.Transactions
                           select transaction).ToList();


        var tran = from transaction in transactions
                   where transaction.OccassionDate.ToShortDateString() == dateTime
                   select transaction;


        return View("Index", tran);
    }
4

1 に答える 1

2

AJAXを介して何かを要求するときは、応答を使って何かを行う必要があります。あなたの場合、あなたはこのようなことをすることができます:

$.get("/Administrator/DateFilter", { "date": date }).done(function (result) {
    $('#myDiv').html(result);
});

また

$('#myDiv').load("/Administrator/DateFilter", { date: date });

myDivまた、リクエストの結果を表示するidを持つ要素を追加する必要があります。

<div id="myDiv"></div>

また、コントローラーでの結果をViewからPartialViewに変更して、レイアウトで結果が送信されないようにします。

ajaxリクエストをに変更することもできますwindow.location = '/Administrator/DateFilter?date=' + date。その場合、アクションメソッドの結果を表示し続けるので、myDiv要素を追加する必要はありません。

于 2013-03-02T09:12:52.513 に答える