Я хотел бы использовать функциональность ASP.NET AJAX Page Method с пользовательским элементом управления. Есть ли способ указать мой статический [WebMethod] внутри кода UserControl вместо кода страницы?
Методы страницы ASP.NET AJAX из UserControl
Ответ 1
Вероятно, вы не можете. Пользовательский элемент управления не имеет всех функций страницы и не может быть вызван напрямую. Вместо этого вы должны создать webservice (asmx) для обработки этого сценария. Если вы хотите, вызов webservice может быть перенаправлен на статический метод внутри вашего пользовательского элемента управления.
Ответ 2
Я довольно много искал, чтобы найти решение для размещения статических WebMethods в элементах управления. Вместо того, чтобы найти решение, я должен был сделать свой собственный; если вы заинтересованы в возможности сделать это более естественно, не стесняйтесь взять посмотреть здесь (или пропустить прямо к источник). Там небольшая документация, так как решение свежо, но на данный момент я единственный человек с интересом к нему, поэтому у меня мало оснований для того, чтобы получить на нем все гун-хо. Если у вас есть шанс, и вы заинтересованы, расскажите мне, что вы думаете.
Ответ 3
Ответ TheXenocide, похоже, сработает, но разработчики заявляют: "Способы управления для ASP.NET AJAX предоставляются", как есть "без каких-либо гарантий или гарантий, выраженных или подразумеваемых, в том числе подразумеваемые гарантии пригодности для конкретной цели, товарность и неустранимость ".
Если вы ищете долгосрочное решение, я бы подумал об использовании методов webservice. Либо это, либо не используйте usercontrol. Вы можете вставить страницу aspx в другую с помощью iframe.