Sono nuovo su .NET mvc.Aggiornamento vista parziale dopo invio Ajax.Beginform
In una vista "DisplayThings" ho qualcosa di simile:
@foreach (var thing in Model)
{
@Html.Partial("DisplayPartial", thing)
}
Nella vista parziale "DisplayPartial" Ho
@using (Ajax.BeginForm("Afunc", new AjaxOptions()))
{
@Html.EditorFor(model => model.AstringThing)
@Html.EditorFor(model => model.AintThing)
<input type="submit" name="submit" value="Ajax Post" />
}
Al momento il "Afunc" -Azione salva il modello al database e quindi reindirizza a un'azione del controller per recuperare tutte le "cose" dal database e visualizzare l'intera vista "Displaythings".
La mia domanda è: quando premo uno dei pulsanti di invio (C'è un pulsante di sottomissione per ogni "cosa" in elenco). Voglio solo quella vista parziale per ricaricare/riflettere sul mio cambiamento. Non voglio ricaricare l'intera vista "Display". Come faccio a fare questo? Se restituisco una vista parziale, perdo tutto il resto tranne quella vista parziale.
Se questo è un approccio sbagliato, per favore forniscimi le indicazioni.
Aggiornamento:
sto ancora facendo qualcosa di sbagliato, come ho la vista parziale reso in una nuova pagina. Il mio controller:
public ActionResult Afunc(ThingModel thingmodel)
{
// do
return PartialView("DisplayPartial", thingmodel);
}
Ho provato con UpdateTargetId e onSuccess entrambi con lo stesso risultato (una nuova pagina)
Accetterò la tua risposta dato che hai indicato qualcosa che mi mancava. Tuttavia era solo una delle 2 cose che avevo perso. Un problema comune è dimenticare (dopo aver navigato in rete) per aggiungere questo alla tua pagina di layout: – Andreas
@manojlds Ho aperto una nuova domanda, la prego di dare un'occhiata a [questo] (http://stackoverflow.com/questions/30868493/form-reload-but-partialview-cannot-with-ajax-in -mvc? noredirect = 1 # comment49779357_30868493) domanda? –