2010-10-22 40 views
5

thể trùng lặp:
Call ASP.NET function from JavaScript?Bạn có thể gọi hàm C# từ JavaScript không?

"Bạn có thể gọi một hàm C# từ JavaScript?" được một người phỏng vấn hỏi. Có thể không? Nếu có, thì làm thế nào?

+0

http://stackoverflow.com/questions/3713/call-asp-net-function-from-javascript –

+0

Nếu câu trả lời không chỉ định ASP.NET, bạn có thể yêu cầu họ sử dụng JScript .NET –

Trả lời

7

Bạn có thể, nhưng không trực tiếp. Bạn sẽ phải sử dụng một thực hiện AJAX hoặc viết một cuộc gọi AJAX cho mình bằng cách sử dụng XmlHttpRequest.

4

Bạn không thể gọi mã phía máy chủ ‘trực tiếp’ từ mã phía máy khách. Điều đó là do thiết kế, phía máy chủ mã thực hiện ở phía máy chủ và mã phía máy khách tại máy khách. Tuy nhiên, có một số cách giải quyết. Để mã máy chủ cuộc gọi từ javascript, bạn sẽ cần phải sử dụng AJAX và cách đơn giản nhất là , là sử dụng ASP.NET Tiện ích mở rộng AJAX.

Kiểm tra liên kết này

How to call Server Side function from Client Side Code using PageMethods in ASP.NET AJAX

1

Hoặc bạn có thể gọi một quản lý C# (hoặc bất kỳ) Chức năng ngôn ngữ trong một điều khiển Silverlight bằng cách gọi thông qua cầu JavaScript.

Đây là một trong những câu hỏi phức tạp mà câu trả lời là "không trực tiếp, nhưng với một chút trợ giúp từ Ajax hoặc trang web DOM Tôi có thể, và đây là cách tôi làm ...".

3

Bạn có thể gọi hàm C# thông qua JavaScript, nhưng không trực tiếp. Đó là để nói, bạn chỉ có thể không bao gồm không gian tên và thực hiện một cuộc gọi trực tiếp đến chức năng. Yêu cầu phải đi gián tiếp thông qua một giao diện tại máy chủ web xử lý các yêu cầu trình duyệt và sau đó gửi chúng đến các chức năng. Có một số cách để làm việc này

  1. Sử dụng dịch vụ phong cách REST. Tôi đã sử dụng cách này kể từ khi tôi chuyển sang ASP.NET MVC.
  2. Sử dụng dịch vụ web (Phương thức trang và Lớp dịch vụ). Một lần nữa Ajax có liên quan và có những công cụ đặc biệt từ Microsoft để làm cho việc này trở nên dễ dàng hơn.
Các vấn đề liên quan