0

ビューを返すために非同期jQueryをMVCアクションに取得させようとしています。何らかの理由で、アクションにアクセスしますが、ビューをレンダリングしません。

これはjQueryです:

function showArchive(url) {
    var moreRecentThanDate = $("#chooseDate").val();

    $.get(url, { moreRecentThan: moreRecentThanDate });
}

これがアクションです:

    [HttpGet]
    public ActionResult ShowArchive(DateTime moreRecentThan)
    {
        List<NewIndexViewModel> model = Service.GetArchives(moreRecentThan);
        ViewBag.IsArchive = true;

        return View("Index", model);
    }

PS: アドホック モーダル ポップアップからこの jQuery を呼び出します。

4

3 に答える 3

0

疑わしい場合は、jQuery のドキュメントget()を確認してください。最後から 2 番目の例が必要です。

$.get(url, { moreRecentThan: moreRecentThanDate })
.done(function(data) {
  $('#myElem').append(data);
  // or $('#myElem').html(data);
});
于 2013-08-19T12:57:20.237 に答える
0

次のような構文を使用して、結果をどこかに添付する必要があります。

$.get(url, { moreRecentThan: moreRecentThanDate }).done(function(data) {
    $('.result').html(data);
)};
于 2013-08-19T12:58:19.227 に答える
0

Jquery部分

$.get( url, { moreRecentThan: moreRecentThanDate }, function(data) {

// コールバックまたはレスポンス $('#details_Div').replaceWith(data);

}); 

ユーザーコントローラーには、次のことを行う details という名前のアクションがあります。

public ActionResult Details( int id )
{
  //create a model

    return PartialView( "UserDetails", model );
}

PartialViewここで重要です。

これは、部分的なビューが id の detailsDiv を持つコンテナーであると想定しているため、全体を呼び出しの結果の内容に置き換えるだけです。

UserDetails 部分ビュー http://evolpin.wordpress.com/2011/04/26/asp-net-mvc-partial-view-and-ajax-real-world-example/

<div id="details_Div">
    <HTML will be replaced once the ajax is completed>
</div>
于 2013-08-19T13:00:56.220 に答える