2

我正在定制 BlogEngine.Net 以便能够从 AJAX 调用返回一些 HTML。基本上我想呈现一个 UserControl 服务器端,然后将生成的 HTML 返回到客户端调用。

我在其他应用程序中使用标有 [WebMethod] 属性的静态 PageMethods 做过很多次。但是任何时候我用 BlogEngine.Net 尝试这个,我都会得到返回页面的完整 HTML。甚至看起来 WebMethod 都没有被触及。

我也尝试将其实现为 HttpHandler,但结果相同。一旦我包含一个页面(vanilla Page 类)并使用它来呈现控件,我就会得到我正在调用的页面的完整 HTML,而不是生成的代码,这导致我假设某些东西正在劫持我的代码来呈现页。

任何想法或替代解决方案能够呈现用户控制服务器端并使用 BlogEngine.Net 框架返回 HTML?

4

1 回答 1

0

如果您查看 CommentView.ascx 的代码,它们使用 ICallbackEventHandler 执行相同的操作。这基本上呈现评论预览以及评论本身。

但是,使用 [WebMethod] 也应该可以像您所说的那样进行。我实际上已经自定义了我自己的设置来更改 CommentView 以使用 [WebMethod] 并且它工作正常。

有关他们自己的 [WebMethod] 实现的示例,请查看 admin 文件夹下的 AjaxHelper,它是一个虚拟页面,其目的是为这些 Web 方法提供服务。

以上是针对 BlogEngine.NET 2.6 的。

于 2012-09-24T15:31:03.663 回答