2010-08-27 51 views
0

我有一個使用AjaxControlToolkit的網頁:AutoCompleteExtener在一些TextBox上。 這個擴展需要服務的方法,從它將獲取數據以顯示:AJAX控件工具包的AutoCompletionExtender方法是否必須是靜態的?

[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()] public static string[] GetCompletionList2(string prefixText, int count, string contextKey) { return DatabaseSearch.GetUnits().GetSymbolCompletion(prefixText, organizationToSearch); }

在該方法我使用的一些參數= organizationToSearch。但我不希望這個論點是靜態的!由於該方法是靜態的,我不知道該怎麼做。如果我從方法定義中刪除'static'關鍵字,它將不起作用......而且我真的不希望更改organizationToSearch也是靜態的!

請幫忙。

回答

0

它必須是靜態的,因爲你沒有執行你的頁面。當你調用AjaxMethod時,你的頁面(webforms)不存在。

+0

那麼,有沒有辦法在這個方法內使用非靜態變量? – Richmond 2010-08-27 10:57:13

+0

您必須將其添加到您的方法參數中 – 2010-08-27 13:03:47

0

前面已經提到,你是在一個完全地新的請求,而不是在你的頁面的執行了(你的頁面已經到了這個階段渲染)..

您將需要傳輸和參數並通他們回到靜態方法..

相關問題