0

我有一個服務器控件(創建一個dll文件,稍後由網站引用以使用該控件)。以前,對於Ajax請求,這個服務是直接從JavaScript調用的,暴露了實際的服務路徑,這是一個非常大的問題。現在我已經在我的項目中創建了一個服務引用,通過它我現在可以獲取數據。有什麼方法可以從服務器控件調用公共函數或通過項目中引用的參考來調用服務?我有一個類似於enter link description here的項目在服務器控制中調用服務器端方法或通過項目中引用直接從javascript調用服務

回答

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 
); 
+0

它實際上是一個服務器控件,它不能包含aspx文件。而且我不能強制控制用戶在每個要使用的項目中添加一個aspx文件。 –

+0

如何直接調用用戶控件?恐怕它不可能 –

+0

我只是想找一種方法來隱藏我的服務電話 –

1

看看這個Link。魔法隱藏在

System.Web.UI.ICallbackEventHandler