在服务器控制中调用服务器端方法或通过在Project中引用的javascript直接调用服务

时间:2014-02-17 08:59:40

标签: c# javascript asp.net custom-server-controls servercontrols

我有一个服务器控件(一个创建一个dll文件,后来由网站引用以使用该控件)。以前,对于ajax请求,直接从javascript调用服务,暴露实际的服务路径,这是一个非常大的问题。现在我在我的项目中创建了一个服务引用,我现在应该通过它来获取数据。有没有什么方法可以从服务器控件调用公共函数或通过项目中的引用调用服务?我的项目类似于enter link description here

中描述的项目

2 个答案:

答案 0 :(得分:1)

看看这个Link

隐藏了魔力
System.Web.UI.ICallbackEventHandler

答案 1 :(得分:0)

JavaScript是客户端语言,而.NET代码在服务器端执行。 JavaScript无法调用ASP.NET服务器控件虽然有一些解决方法,比如通过json调用ASP.NET Web方法(methodHoneyTrap),然后在公开的Web方法(methodHoneyTrap)中调用另一个Web方法(methodActualService)。

您的实际代码位于methodActualService中,而methodHoneyTrap将调用methodActualService。


 $.ajax  (
{
  type: "POST",
  url: "MethodInvokeWithJQuery.aspx/methodHoneyTrap",
  data: "{}",
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  async: true,
  cache: false,
  success: function
);