Ich bin neu bei .NET mvc.Teilansicht nach dem Einreichen aktualisieren Ajax.Beginform
In einer Ansicht "DisplayThings" Ich habe so etwas wie:
@foreach (var thing in Model)
{
@Html.Partial("DisplayPartial", thing)
}
In der Teilansicht "DisplayPartial" Ich habe
@using (Ajax.BeginForm("Afunc", new AjaxOptions()))
{
@Html.EditorFor(model => model.AstringThing)
@Html.EditorFor(model => model.AintThing)
<input type="submit" name="submit" value="Ajax Post" />
}
Im Moment ist das "Afunc" -Action speichert das Modell an die Datenbank und leitet dann zu einer Controller-Aktion um, um alle "Dinge" aus der Datenbank abzurufen und die gesamte "Displaythings" -Ansicht zu rendern.
Meine Frage ist: Wenn ich einen der Submitbuttons drücke (Es gibt einen Submitbutton für jedes "Ding" in der Liste). Ich möchte nur diese Teilansicht, um meine Änderung nachzuladen. Ich möchte nicht die gesamte Ansicht "Displaythings" neu laden. Wie mache ich das? Wenn ich nur eine Teilansicht zurückgebe, verliere ich alles andere als diese Teilansicht.
Wenn dies ein schlechter Ansatz ist, bitte geben Sie mir eine Wegbeschreibung.
Update:
ich noch etwas falsch zu machen bin, als ich die Teilansicht in einer neuen Seite gerendert bekommen. Mein Controller:
public ActionResult Afunc(ThingModel thingmodel)
{
// do
return PartialView("DisplayPartial", thingmodel);
}
ich versucht habe, mit UpdateTargetId und onsuccess beide mit dem gleichen Ergebnis (eine neue Seite)
Ich werde Sie akzeptieren, da Sie auf etwas hingewiesen haben, das mir fehlte. THat war jedoch nur eines von 2 Dingen, die ich vermisst hatte. Ein häufiges Problem ist das Vergessen (nach dem Surfen im Internet), dies zu Ihrer Layoutseite hinzuzufügen: – Andreas
@manojlds Ich öffnete eine neue Frage, können Sie bitte [diese] (http://stackoverflow.com/questions/30868493/form-reload-but-partialview-cannot-with-ajax-in) -mvc? noredirect = 1 # Kommentar49779357_30868493) Frage? –