如何:在UserControl(ascx)中使用UserCompleteExtender并将ServiceMethod放在其代码隐藏中

时间:2009-07-11 23:49:06

标签: user-controls autocomplete ajaxcontroltoolkit pagemethods

我在TextBox上创建了一个AutoCompleteExtender,它驻留在UserControl(Control.ascx文件)上。

我不想为Web方法创建单独的类,而是将其放在代码文件(Control.ascx.cs)本身中。

有办法吗?

我曾经成功尝试过将该方法放在同一个页面上,但它是一个页面,如果未设置ServicePath属性,它会自动引用到该页面,因此它可以正常工作,因为它是一个用户控制它甚至没有我明确指定路径。

2 个答案:

答案 0 :(得分:2)

您实际上可以将web方法保留在.aspx中,而其他自动完成扩展程序相关代码可以驻留在.ascx中。它工作正常。

答案 1 :(得分:0)

此时AutoCompleteExtender在UserControl中不起作用。 2007年2月在MSDN杂志中引用Dino Esposito: -

  

可调用页面方法是在代码隐藏类中定义的公共静态(或Visual Basic.NET中的Shared)方法,并使用与Web服务方法相同的WebMethod属性进行修饰。目前,仅限于ASPX页面 - 内联代码和代码隐藏代码 - 但未来可能会扩展到用户控件和自定义控件。

我最近的经验表明,这仍然适用。

我担心您将该方法实现为WebService或将功能移回页面。