Je peux voir le résultat lorsque vous entrez quelque chose dans le champ de texte. Le résultat va à la DIV que je veux. Cependant, je regarde le code source de la page, je ne vois pas l'élément de remplacement.ASP .NET MVC AJAX BeginForm InsertionMode.Replace ne fonctionne pas bien
Par exemple, j'entre 'aaaaaaaaaaaaaaaa', cliquez sur le bouton soumettre, je vois le résultat comme Vous avez entré aaaaaaaaaaaaaaaa; Mais clic droit pour ouvrir la source, je ne vois pas son élément HTML
Parce que j'utilise Accordion à d'autres endroits, Accordéon ne fonctionne pas bien parce que JavaScript ne voit pas les éléments html retournés par Action.
Que dois-je faire pour le réparer?
La vue
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<h2>Home Page</h2>
<%using (Ajax.BeginForm("Index", new AjaxOptions { UpdateTargetId = "HomeResult", InsertionMode = InsertionMode.Replace }))
{ %>
<%= Html.TextBox("query", null, new {size=40}) %>
<input type="submit" value="Home Submit" />
<%} %>
<div id="HomeResult">
<h2>Home result goes here.</h2>
<%Html.RenderPartial("PartialResult", ViewData.Model); %>
</div>
L'action du contrôleur
public ActionResult Index()
{
if (Request.IsAjaxRequest())
{
ViewData["Message"] = "Partial View Logon";
return PartialView("PartialResult", Request.Params.Get("query"));
}
return View();
}
Le résultat partiel Voir
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<div>
<% if (Model != null) %>
<% { %>
<h1>
You entered <%= Model.ToString() %>
</h1>
<% } %>
</div>
J'ai vu l'élément html dans Firebug, merci de me le rappeler. –