Laden...

jQuery ajax/json WebMethod eine page reference uebergeben?

Erstellt von s0h0 vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.557 Views
S
s0h0 Themenstarter:in
683 Beiträge seit 2006
vor 13 Jahren
jQuery ajax/json WebMethod eine page reference uebergeben?

hallo,

weiss jemand wie ich beim Aufruf einer WebMethode(in meiner codebehind datei) in c#, aus jQuery eine page reference uebergeben kann?

die webmethode die ich mit jquery ajax aufrufen kann muss ja static sein und aus statischen funktionen kann man ja nicht auf die elemente auf der seite zugreifen...
das waere dann alerdings perfekt wenn ich in den methoden die gui manipulieren kann.

hat jemand vielleicht eine idee wie ich in verbindung mit jquery eine reference auf die seite in meiner statischen methode bekomme?

danke


<script>
function DeleteTreeViewNode
{
  $.ajax({
                type: "POST",
                url: "kundenbereich.aspx/DeleteCategory",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    $("#lbl_status").text(msg.d);
                    alert("done");
                }
            });
}
<script>


  [WebMethod]
    public static string DeleteCategory()
    {
        //wenn eine seiten reference uebergeben wurde 
        //mypage.lbl_status.ForeColor = Color.Green;
        return "Kategorie wurde gelöscht!";
    }

Eine Null kann ein bestehendes Problem verzehnfachen

M
51 Beiträge seit 2010
vor 13 Jahren

Hallo s0h0,

in dieser Form wird das leider nicht möglich sein. Bei einem Aufruf einer WebMethod (statisch) wird die Seite nicht neu gerändert, sondern nur die Methode ausgeführt. Du kannst Clientseitig einen Refresh auslösen um die Seite dann zu aktualisieren, oder du übergibst einige Parameter an deine Seite mit und rufst diese neu auf, oder du änderst den DOM direkt über jQuery.

Gruß Martin

S
s0h0 Themenstarter:in
683 Beiträge seit 2006
vor 13 Jahren

danke erstmal.

in einer anderen form? 😃
naja ich möchte das ja schon mit ajax funktionalitaet bzw partialpagerendering. kann ich server seitig dann nicht das updatepanel veranlassen sich zu refreshen?

ich hab jetzt extra meinen alten js code, der bei solchen aktionen die seite mit anweisungen im querystring aufruft, auf jquery geaendert. hat sich zwar jetzt schon gelohnt aber wenn das noch möglich waere waere es perfekt...

geht das irgendwie??

Eine Null kann ein bestehendes Problem verzehnfachen

M
51 Beiträge seit 2010
vor 13 Jahren

hmm... ich denke es müsste möglich sein, das Update Panel refreshen zu lassen... aus dem stegreif fällt mir jetzt nur ein workaround ein, einen button_click o. Ähnliches auslösen... dann könntest dur dir auch gleich den Umweg über eine WebMethod sparen.

oder gibtst zurück, ob deine Web-Method erfolgreich war und entfernst den Knoten in deinem Fall direkt mit jQuerys as dem Baum, so würd ich es machen...

1.433 Beiträge seit 2006
vor 13 Jahren

Ich mache es immer so dass ich das Control, welches ich verändern will, bei der statischen WebMethode mitgebe und dann im Resultat auch speichere. So kann ich dann im OnSucceded des Ajax Auftrufs mit

 $('clientIddesUserControls')

holen und gleich mit dem Resultat manipulieren.

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt