0

グリッドのボタンから使用しようとしjquery.load("/home/CreateEdit") たので、行を編集するたびに、このjquery.loadを使用してpartialViewをロードします。
問題は、日付を編集した後、ロード関数を再度呼び出したいのですが、サーバーに戻らず、新しく変更された日付をリロードすることです。なぜ?
これはロードの目的ですか?サーバーに行くのは1回だけですか?代わりにget/post jquery呼び出しを使用する必要がありますか?または解決策は何ですか?

PS:アクションはこんな感じ

[HttpGet]
    public ActionResult CreateEdit(int id=0)
    {
        if (id != 0)
        {
            var model = _tallyMeasurementRepository.GetById(id);
            return PartialView("_CreateEdit", AutoMapper.Mapper.Map<TallyMeasurement, TallyMeasurementViewModel>(model));
        }
        else
        {
            return PartialView("_CreateEdit", new TallyMeasurementViewModel());
        }

    }


    [HttpPost]
    public ActionResult CreateEdit(TallyMeasurementViewModel viewModel)
    {
        if (viewModel != null)
        {
            _tallyMeasurementRepository.Update(AutoMapper.Mapper.Map<TallyMeasurementViewModel,TallyMeasurement >(viewModel));
        }
        return RedirectToAction("Measurementt");
    }
4

1 に答える 1

0

サーバーがリダイレクト結果を返した後、クライアントは後続の呼び出しを行うことが期待されます。クライアントが要求するまで、サーバーは追加のデータを送信しません。

したがって、jquery結果ハンドラコードで、応答がリダイレクトであるかどうかを確認します。後続の呼び出しを行う場合。

または、返すレコードのIDがわかっている場合は、いつでも別の結果を返すことができます。

[HttpPost]
public ActionResult CreateEdit(TallyMeasurementViewModel viewModel)
{
    if (viewModel != null)
    {
        _tallyMeasurementRepository.Update(AutoMapper.Mapper.Map<TallyMeasurementViewModel,TallyMeasurement >(viewModel));
    }
    return CreateEdit(id); // WHERE id is the value to load
}
于 2013-03-15T11:55:08.740 に答える