0

私の問題は私にとって非常に一般的なようで、オンラインで答えを見つけることができると思っていましたが、できませんでした.

ドロップダウン リストがあり、選択した値に基づいて、複数の部分ビューが必要です。(1 つの選択肢には 1 つも含まれず、もう 1 つの選択肢には 3 つ、など)

「DriveDetail」オブジェクトを取得する部分ビューがあり、JQuery を使用して動的にこれらの部分ビューを複数ロードする必要があります。

これまでのところ、私は持っています:

    $.ajax({
        url: "TestInput/getTestStationInformation2/" + testStation,
        dataType: "json",
        type: 'post',
        success: function (data) {
            for (var i = 0; i < data.length; i++) {
                $('#driveDetailDiv').append(data[i]);
            }
        }
    });

これらのドライブの IEnumerable または List を返すことができます。

public JsonResult getTestStationInformation(long id)
{
    IEnumerable<DriveDetails> aa = repository.listDriveInfo(id);
    return Json(aa);
}

public JsonResult getTestStationInformation2(long id)
{
    List<PartialViewResult> res = new List<PartialViewResult>();
    List<DriveDetails> aa = repository.listDriveInfo(id).ToList();
    for (int i = 0; i < aa.Count(); i++)
    {
        res.Add(PartialView("DriveDetailsPartial", aa[i]));
    }

    return Json(res);
}

しかし、これらのどれも機能しません。

私は持っている:

$.get('<%= Url.Action("Details","TestInput", null) %>', function (tmp) {
    $('#driveDetailDiv').append(tmp);
});

私のコードでは、null の代わりに data[0] を送信し、data[0] の partialView を取得する必要があります。しかし、データ[0]の送信方法がわかりません。やってみると

 new {id = data[0])

エラーが発生し、PartialViews のリストを返す 2 番目のアクションを使用しようとすると、それらを追加しようとしても表示されません。

4

0 に答える 0