[C#/AJAX] pagemethods direct aanspreken

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Cryothic
  • Registratie: September 2001
  • Laatst online: 04-09-2024
Hallo allemaal,

ik zit hier met een probleem, en kom er niet uit.
Ik wil via jQuery een pagemethod direct aanspreken op de pagina waar ik zit.
Ik heb ter referentie deze site gebruikt (en verschillende links op die pagina)
http://encosia.com/2008/0...aspnet-ajax-page-methods/

Ik heb daar zelf deze code aan over gehouden:
default.aspx
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    <script type="text/javascript">
        $(document).ready(function() {
            $.ajax({
                type: "POST",
                url: "Default.aspx/test2",
                data: "",
                success: function(msg) {
                    alert("S: " + msg);
                },
                error: function(xhr,msg,e){
                alert("E: " + msg);//Error Callback
            }
            });
        });
    </script>


en de aspx.cs
code:
1
2
3
4
    [System.Web.Services.WebMethod()]
    public static DateTime test2() {
        return DateTime.Now;
    }


Maar wat wil het geval... ik krijg niet de datum/tijd terug... ik krijg de complete html van m'n pagina terug in m'n alert.

Iemand enig idee wat ik fout doe?

Als ik die JSON datatype en contenttype er bij zet, krijg ik zowiezo alleen maar "error" terug :(

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Moet erboven niet [PageMethod()] staan?
Als je het doet met PageMethods in de scriptmanager, werkt het dan?

[ Voor 62% gewijzigd door Snake op 21-11-2008 15:29 ]

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Cryothic
  • Registratie: September 2001
  • Laatst online: 04-09-2024
Dat dacht ik ook eerst, maar de pagina begint met:
Writing a page method is easy. They must be declared as static, and they must be decorated with the [WebMethod] attribute. Beyond that, ASP.NET AJAX takes care of the rest on the server side.
Dus ik denk niet dat dat het is.

Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Je hebt je WebService class ook gemarkeerd met het (System.Web.Script.Services.)ScriptService attribute? Anders kun je je webservice niet via de '/js' class call opnemen als script reference.

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • Cryothic
  • Registratie: September 2001
  • Laatst online: 04-09-2024
Ik heb geen webservice, maar een gewone aspx file.

Maar als ik de Page markeer als ScriptService doet ie nog precies hetzelfde.