J'ai une page Index. Dans la div de contentwrap, la superposition est rendue et enregistrée par jQuery. Le gridcontainer doit être mis à jour via ajax.ASP.NET MVC 2: Comment maîtriser des scénarios de mise à jour/création courants avec des fenêtres contextuelles à l'aide de jQuery
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>
List of Employees</h2>
<br />
<div id="gridcontainer">
<% Html.RenderPartial("Grid", Model); %>
</div>
<%= Html.StandardOverlayCreateButton() %>
<div class="apple_overlay" id="overlay">
<div class="contentWrap">
</div>
</div>
</asp:Content>
j'ai la vue partielle Grille:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<IEnumerable<UserInterface.Models.EmployeeForm>>" %>
<div>
<table>
...
</table>
</div>
Et je la Créer la page/superposition qui est rendue dans le contentWrap div:
<div>
<h2>
Create</h2>
<% using (Ajax.BeginForm("Create", "Employee", new AjaxOptions { HttpMethod = "POST", OnComplete = "$(\"a[rel]\").close()", InsertionMode = InsertionMode.Replace, UpdateTargetId = "gridcontainer" }))
{
%>
<% Html.EnableClientValidation(); %>
<%= Html.ValidationSummary(true) %>
<fieldset>
<legend>Fields</legend>
...
</fieldset>
<p>
<input type="submit" value="Create" />
</p>
<% } %>
</div>
EmployeeController :
//
// POST: /Employee/Create
[HttpPost]
public ActionResult Create(Employee employee, [Optional, DefaultParameterValue(0)] int teamId)
{
employee.AddTeam(_teamRepository.GetById(teamId));
_employeeRepository.SaveOrUpdate(employee);
var updatedmodel = Mapper<List<Employee>, List<EmployeeForm>>(_employeeRepository.GetAllEmployeesWithEagerLoadedTeams());
// What do I have to return here?!
return View(updatedmodel);
}
Comment puis-je mettre à jour la vue partielle Grille après avoir créé le nouvel employé sans charger l'ensemble index Page?
Merci d'avance!