12

我想将 ASP.NET AJAX 页面方法功能与用户控件一起使用。有没有办法能够在 UserControl 的代码后面而不是 Page 的代码后面指定我的静态 [WebMethod]?

4

3 回答 3

10

你可能做不到。用户控件不具备页面的所有功能,不能直接调用。相反,您应该创建一个 Web 服务 (asmx) 来处理这种情况。如果您愿意,可以将 Web 服务调用路由到用户控件内的静态方法。

于 2008-10-31T15:32:04.133 回答
3

我一直在寻找一些解决方案来将静态 WebMethods 放置在控件中。为了代替找到解决方案,我不得不自己解决;如果您对能够更自然地执行此操作感兴趣,请随时查看此处(或直接跳到源代码)。由于解决方案是新鲜的,因此文档很少,但目前我是唯一对此感兴趣的人,所以我没有理由全力以赴。如果你有机会并且有兴趣,请告诉我你的想法。

于 2010-01-19T14:48:09.853 回答
0

TheXenocide 给出的响应似乎有效,但开发人员表示,“ASP.NET AJAX 的控制方法按“原样”提供,没有任何明示或暗示的保证或保证,包括对特定用途适用性、适销性和不侵权。”

如果您正在寻找长期解决方案,我会考虑使用 web 服务方法。要么,要么不使用用户控件。您可以使用 iframe 将一个 aspx 页面嵌套在另一个页面中。

于 2011-06-14T17:56:30.633 回答