2013-01-25 10 views
7

Ich habe einen Handler erstellt, die ganzzahligen Wert nach einigen Datenbank-Arbeit zurückgeben. Ich würde gerne wissen, wie kann ich diesen Wert erhalten und diesen Wert Label zuweisen, indem Sie diesen Handler aufrufen.Wie ASHX-Handler aufrufen und das Ergebnis zurück

Ich habe es gegooglet und die meisten des Beispiels verwendet Jquery.AJAX Aufrufe, um den Wert abzurufen. Ich bin sicher, dass ich den Wert auch dadurch erhalten kann. ABER für einige Beschränkungen in meiner Firma bin ich beschränkt, Code hinten zu verwenden.

Jedes Beispiel wird helfen.

Handler: http://somesite.com/Stores/GetOrderCount.ashx?sCode=VIC 
which returns: 3 

Notwendigkeit, dies zu einem Label-Steuerelement zuweisen

ich bisher so viel versucht haben.

HttpWebRequest request = (HttpWebRequest) WebRequest.Create("http://somesite.com/Stores/GetOrderCount.ashx?sCode=VIC"); 
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
Label1.Text = response.ToString() // this does not work 
+0

was, wenn Sie diese URL in Ihren Browser eingeben, was tun Sie zurückkamen? Was ist das Format? – Quannt

+0

Wenn ich die URL in Browser eingeben, bekomme ich den Wert .. genau das, was ich erwarte zu bekommen ... aber ich weiß nicht, wie man das in aspx Seite bekommt. –

+1

OK, bitte beachten Sie, dass wenn Sie HttpWebRequest verwenden möchten, seien Sie vorsichtig mit der Antwort.Header, müssen Sie möglicherweise einige Header-Informationen angeben, um die Daten abzurufen. – Quannt

Antwort

11

Verwenden WebClient.DownloadString

WebClient client = new WebClient(); 
Label1.Text = client.DownloadString ("http://somesite.com/Stores/GetOrderCount.ashx?sCode=VIC"); 

Sie können auch Ihre Handler mit Ajax direkt aufrufen und das Etikett aktualisieren.

Hier ist ein jQuery Beispiel:

$.get('Stores/GetOrderCount.ashx?sCode=VIC', function(data) { 
    $('.result').html(data); 
}); 
+0

das gab mir, was ich wollte ... +1 –

4

Versuchen Sie, diese

System.IO.Stream stream = response.GetResponseStream(); 
System.IO.StreamReader reader = new System.IO.StreamReader(stream); 
string contents = reader.ReadToEnd(); 
+0

Ich denke, Ihre Lösung funktioniert auch gut, aber es ist viel einfacher, WebClient zu verwenden, dann stream –