私は.NETmvcを初めて使用します。
「DisplayThings」ビューでは、次のようなものがあります。
@foreach (var thing in Model)
{
@Html.Partial("DisplayPartial", thing)
}
部分ビュー「DisplayPartial」で私は持っています
@using (Ajax.BeginForm("Afunc", new AjaxOptions ()))
{
@Html.EditorFor(model => model.AstringThing)
@Html.EditorFor(model => model.AintThing)
<input type="submit" name="submit" value="Ajax Post" />
}
現時点では、「Afunc」-アクションはモデルをデータベースに保存してから、コントローラーアクションにリダイレクトして、データベースからすべての「モノ」を取得し、「ディスプレイシング」ビュー全体をレンダリングします。
私の質問は次のとおりです。送信ボタンの1つを押すと(リストのすべての「もの」に対して1つの送信ボタンがあります)。その部分的なビューのみをリロード/変更に反映させたい。「Displaythings」ビュー全体をリロードしたくありません。どうすればよいですか?部分ビューを返すだけでは、その部分ビュー以外はすべて失われます。
これが悪いアプローチである場合は、道順を教えてください。
アップデート:
部分ビューが新しいページにレンダリングされるので、まだ何か問題があります。私のコントローラー:
public ActionResult Afunc(ThingModel thingmodel)
{
// do
return PartialView("DisplayPartial", thingmodel);
}
UpdateTargetIdと成功の両方を使用してみましたが、同じ結果になりました(新しいページ)