Como posso atualizar apenas uma Vista Parcial na Vista?
O que estou fazendo de caras erradas? Essa é a ideia ...
Visualização de índice
<div class="col-lg-12 col-md-12 col-xs-12">
@Html.Partial("PartialView", Model)
</div>
Controlador
public ActionResult PartialView()
{
return PartialView("PartialView");
}
[HttpPost, ValidateInput(false)]
public ActionResult POSTPartialView(string param1)
{
return PartialView("PartialView");
}
PartialView tem um formulário. Na primeira vez que entro no Index, o PartialView funciona, mas na segunda vez, após uma chamada POST (proveniente do formulário dentro do PartialView), só consegui renderizar o PartialView do Index.
Então, para consertar, eu estou fazendo o seguinte:
[HttpPost, ValidateInput(false)]
public ActionResult POSTPartialView(string param1)
{
return View("Index");
}
Isso funciona. Renderizo todo o índice novamente (com minhas alterações, após o POST). Mas como atualizo toda a página, perdi alguns elementos CSS (acordeão descoberto, por exemplo).
Devo usar o Ajax para atualizar apenas a div que contém o PartialView?
Obrigado, Mates.
EDITADO:
@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>
}