我在居住在usercontrol(control.ascx文件)上的文本框上创建了一个autocompletextender。

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

有办法吗?

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

有帮助吗?

解决方案

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

其他提示

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

可召唤的页面方法是在CodeBehind类中定义的公共静态(或在Visual Basic.NET中共享),并使用用于Web服务方法的相同的WebMethod属性进行装饰。现在, 这仅限于ASPX页面内联和CodeBehind代码- 但将来可能会扩展到用户控件和自定义控件。

我最近的经验表明,这仍然是正确的。

恐怕您要么将该方法实现为Web服务,要么将功能移至页面。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top