2010-07-08 62 views

回答

4

您無法調用在ASCX用戶控件中聲明的頁面方法。頁面方法必須在你的aspx中聲明或者將它公開爲一個合適的asmx web服務。

1

你理論上可以,但它會稍微凌亂,我wouldnt推薦它。
但是你可以做的是調用包含控件的aspx頁面並傳遞一個querystring參數(比如runfunc = 1),這個參數將被ascx控件處理並運行該函數。
其他所有功能都將以其他方式運行 - 如果您調用「WebMethod」函數,則可以將所有的HTML放在隱藏的面板中。
這也將允許您刪除函數名稱上的WebMethod屬性。

3

如果您的目標是集中共享功能,那麼您真的應該重新考慮使用服務。

ASMX服務沒有任何WCF服務所做的配置負擔(現在有人提到「web服務」時通常會想到這一點)。如果您使用簡單的ASMX「ScriptService」,則代碼,開發,配置等將與您現在在ASPX文件中進行的操作幾乎相同,只是集中式的。 ASMX ScriptServices和ASPX頁面方法非常相似,它們實際上共享大部分相同的底層後端代碼。