2013-01-25 22 views
7

Tôi đã tạo Trình xử lý trả về giá trị số nguyên sau khi thực hiện một số công việc cơ sở dữ liệu. tôi muốn biết làm thế nào tôi có thể nhận được giá trị đó và gán giá trị đó cho Label bằng cách gọi trình xử lý đó.cách gọi trình xử lý ASHX và nhận lại kết quả

Tôi đã googled nó và hầu hết các ví dụ sử dụng các cuộc gọi Jquery.AJAX để lấy giá trị. Tôi chắc chắn tôi cũng có thể nhận được giá trị bằng cách sử dụng đó. NHƯNG cho một số hạn chế trong công ty của tôi tôi bị hạn chế sử dụng mã phía sau.

Bất kỳ ví dụ nào đều hữu ích.

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

cần phải gán này cho một người kiểm soát nhãn

tôi đã cố gắng này nhiều cho đến nay.

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

gì nếu bạn nhập URL đó vào trình duyệt của bạn, những gì bạn đã trở lại? định dạng là gì? – Quannt

+0

nếu tôi nhập URL trong trình duyệt, tôi nhận được giá trị .. chính xác những gì tôi mong đợi để có được ... nhưng tôi không biết làm thế nào để có được điều đó trong trang aspx. –

+1

OKay, xin lưu ý rằng nếu bạn muốn sử dụng HttpWebRequest, hãy cẩn thận với response.Header, bạn có thể phải chỉ định một số thông tin tiêu đề để lấy dữ liệu. – Quannt

Trả lời

11

Sử dụng WebClient.DownloadString

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

Bạn cũng có thể trực tiếp gọi xử lý của bạn sử dụng ajax và cập nhật các nhãn.

Dưới đây là một ví dụ jQuery:

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

này đã cho tôi những gì tôi muốn ... 1 –

4

Hãy thử điều này

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

Tôi nghĩ rằng giải pháp của bạn cũng hoạt động tốt NHƯNG nó là dễ dàng hơn nhiều để sử dụng WebClient sau đó dòng –

Các vấn đề liên quan