Как: использовать AutoCompleteExtender в UserControl (ascx) и поместить ServiceMethod в его программный код - PullRequest
1 голос
/ 12 июля 2009

Я создал AutoCompleteExtender для TextBox, который находится в UserControl (файл Control.ascx).

Я не хочу создавать отдельный класс для веб-метода, я скорее помещаю его в сам файл кода (Control.ascx.cs).

Есть ли способ?

Я однажды успешно пытался разместить метод на той же странице , но это была страница, и если свойство ServicePath не установлено, оно автоматически ссылается на страницу, чтобы оно работало, теперь, поскольку это пользователь контролировать его нет даже когда я явно указываю путь.

Ответы [ 2 ]

2 голосов
/ 23 марта 2010

Вы можете оставить веб-метод в .aspx, тогда как другой код, связанный с автозаполнением, может находиться в .ascx. Работает нормально.

0 голосов
/ 20 июля 2009

AutoCompleteExtender не работает в UserControl в настоящее время. Цитата Дино Эспозито в журнале MSDN, февраль 2007 г .: -

Метод вызываемой страницы - это открытый статический (или Shared в Visual Basic.NET) метод, определенный в классе codebehind и украшенный тем же атрибутом WebMethod, который используется для методов веб-службы. В настоящее время это ограничено страницами ASPX - как встроенными, так и кодовыми кодами - но в будущем может быть расширено до пользовательских и пользовательских элементов управления.

Мой недавний опыт показывает, что это все еще верно.

Боюсь, что у вас останется либо реализовать метод как веб-сервис, либо перенести функциональность обратно на страницу.

...