Ich benutze Asp.Net MVC 2 mit C# 4.0 und die OnSuccess funktion ruft eine Jquery Funktion auf.
Ich habe folgendes Problem in meiner Suchfunktion:
Ich habe im View ein Formular darüber meine Jquery Funktion und unter dem Formular mein PartialView das ich aktualisiere. Die Juery funktion soll erst aufgerufen werden, wenn das PartialView vollständig geladen wird, aber leider funktioniert das nicht richtig. die JQuery Funktion wird aufgerufen bevor das Partial View geladen wird und ich würd gern wissen warum.
Die Jquery Funktion makiert den text farbig nachdem ich Suche.
Der gesuchte Text wird für 1 sec farbig makiert dann wieder aufgehoben und danach wird erst gefiltert und ausgegeben.
OnComplete habe ich auch schon getestet, gleichen Ergebnis.
Irgendwie ist die Ajax Aktualisierung wohl nocht nicht ganz abgeschlossen.
Ich hoff man kann mir folgen
Hier der Quellcode...aber nur Teile davon..
Zitat
#Script
<script type="text/javascript">
function searchtext() {
var st = $('#search').val(); // Mein Suchwort
$(".Searchoutput").highlight(st); //Plugin um Text farbig zu makieren
}
</script>
#View
<% using (Ajax.BeginForm("Mytermsearch", FormMethod.Post, new AjaxOptions { UpdateTargetId = "termdiv", OnSuccess = "searchtext" }, new { @id = "ajaxform" })) %>
<%{ %>
...formular....
<%} %>
#PartialView
<div id="termdiv">
<%Html.RenderAction("Mytermtable", "Home"); %>
</div>
#Inhalt im Partial View mit Klassenname wo die Ausgabe stattfindet
<%foreach (var m in (List<dynamic>)ViewData["terms"])%> //Foreach Schleife für die Datenausgabe
<%{ %>
<table>
<tr>
<td class="Searchoutput">
<%=Html.Encode(m.German)%>
</td>
<td class="Searchoutput">
<%=Html.Encode(m.Englisch)%>
</td>
</tr>
</table
<%}%>
<script type="text/javascript">
function searchtext() {
var st = $('#search').val(); // Mein Suchwort
$(".Searchoutput").highlight(st); //Plugin um Text farbig zu makieren
}
</script>
#View
<% using (Ajax.BeginForm("Mytermsearch", FormMethod.Post, new AjaxOptions { UpdateTargetId = "termdiv", OnSuccess = "searchtext" }, new { @id = "ajaxform" })) %>
<%{ %>
...formular....
<%} %>
#PartialView
<div id="termdiv">
<%Html.RenderAction("Mytermtable", "Home"); %>
</div>
#Inhalt im Partial View mit Klassenname wo die Ausgabe stattfindet
<%foreach (var m in (List<dynamic>)ViewData["terms"])%> //Foreach Schleife für die Datenausgabe
<%{ %>
<table>
<tr>
<td class="Searchoutput">
<%=Html.Encode(m.German)%>
</td>
<td class="Searchoutput">
<%=Html.Encode(m.Englisch)%>
</td>
</tr>
</table
<%}%>
Ich hoff jemand kann mir helfen...der sich mit der Materie auskennt
Dieser Beitrag wurde von EliteU2 bearbeitet: 28. Februar 2011 - 11:55