Comment le InsertionMode.Remplacer les œuvres sur l'Ajax.BeginForm
j'ai le texte suivant Ajax.beginform
à l'intérieur de mon asp.net mvc de vue, où le résultat de l'appel ajax va remplacer le <div id= "searcharea">
, comme suit:-
@using (Ajax.BeginForm("Search", "Patient",
new AjaxOptions
{
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "searcharea",
LoadingElementId = "progress2"
}))
{
<table >
<tr>
<th>
Searching By First Name (English) :-
</th>
<th>
<input type="text" name="firstname" />
</th></tr>
<tr>
<th>
Searching By Family Name (English) :-
</th>
<th>
<input type="text" name="familyname" />
</th></tr>
<input type="submit" value="Search " /></th><th></th></tr>
</table>
}
<div id = "progress2">
<img src= "@Url.Content("~/Content/images/Ajax-loader-bar.gif") ">
</div>
<p>
<div id= "searcharea">
</div>
Donc au début j'ai pensé que je vais seulement être en mesure d'effectuer une recherche depuis le <div id= "searcharea">
sera remplacée par le résultat de l'appel ajax et il ne sera pas avilalbe après cela, et si j'essaie de faire un autre appel ajax il n'y aura plus <div id= "searcharea">
pour remplacer le résultat.
Mais ce qui s'est réellement passé, c'est que j'ai été capable de faire de multiples recherches, sans aucun problème, donc cela signifie que le InsertionMode.Replace
remplacement de l'élément du DOM et qu'il ne insérez le résultat de l'appel ajax au sein de ce DOM,, parce que je ne peux pas comprendre comment je peut faire référence à un élément du DOM plusieurs fois, même si il a été remplacé par mon premier appel ajax ???!! quelqu'un peut-il expliquer comment cela se produit ?
BR
OriginalL'auteur john Gu | 2012-05-01
Vous devez vous connecter pour publier un commentaire.
Vous êtes malentendu
InsertionMode.Replace
. Il remplacera tout à l'intérieur l'élément HTML que vous spécifiez avecUpdateTargetId
, pas l'élément lui-même.C'est le même que
Un mode d'insertion qui a détruit l'élément s'il ne serait pas très utile pour la raison que vous avez mentionné: vous ne pourrez l'utiliser qu'une fois.
Relisez ma réponse. Mode d'Insertion remplacer ne remplace PAS le UpdateTargetId. Il remplace tout à l'intérieur de la UpdateTargetId.
merci pour la réponse..
>Un mode d'insertion qui a détruit l'élément s'il ne serait pas très utile, Pourquoi? Je suis vraiment pas cette mode pour remplacer la vue partielle avec sa version mise à jour: j'ai pu enroulez simplement le partiel avec certains div. Maintenant, je dois trouver tous les lieux de cette partielle et envelopper le RenderPartial appel :\
Oui, je suis d'accord avec Alleo. Été en utilisant MVC, mais seulement réalisé maintenant que Remplacer est à l'INTÉRIEUR et pas à l'ensemble de la chose. Hmmm. Très étrange. Vous pouvez facilement lier à l'objet dynamique avec jQuery
OriginalL'auteur DMulligan