Wie kann ich nur eine Teilansicht in ihrer Ansicht aktualisieren?
Was mache ich falsch Jungs? Das ist die Idee ...
Index view
<div class="col-lg-12 col-md-12 col-xs-12">
@Html.Partial("PartialView", Model)
</div>
Regle
public ActionResult PartialView()
{
return PartialView("PartialView");
}
[HttpPost, ValidateInput(false)]
public ActionResult POSTPartialView(string param1)
{
return PartialView("PartialView");
}
PartialView hat ein Formular. Wenn ich PartialView zum ersten Mal in den Index eingebe, funktioniert es. Beim zweiten Mal nach einem POST-Aufruf (der aus dem Formular in PartialView stammt) konnte ich PartialView nur aus dem Index rendern.
Um das Problem zu beheben, mache ich das nächste:
[HttpPost, ValidateInput(false)]
public ActionResult POSTPartialView(string param1)
{
return View("Index");
}
Das funktioniert. Ich rendere den gesamten Index erneut (mit meinen Änderungen nach dem POST). Aber ich aktualisiere alle Seiten, so dass ich einige CSS-Elemente verloren habe (z. B. Ziehharmonika).
Sollte ich Ajax verwenden, um nur das div zu aktualisieren, das PartialView enthält?
Danke Kumpels.
EDITED:
@using (Html.BeginForm("PartialView", "Controller", FormMethod.Post, new { @class = "form-inline", role = "form" }))
{
<div class="form-group col-lg-3 col-md-3 col-xs-3">
<label for="DATA">DATA:</label>
<input type="text" class="form-control pull-right" name="DATA">
</div>
<button type="submit" class="btn btn-primary pull-right">Get Data</button>
}