BlogEngine.Net是否为所有.aspx请求都有自定义的HttpHandler?

时间:2010-08-26 06:24:36

标签: asp.net ajax pagemethods blogengine.net

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

我在其他应用程序中使用标有[WebMethod]属性的静态PageMethods多次完成此操作。但是每当我使用BlogEngine.Net尝试这个时,我都会获得返回页面的完整HTML。它甚至看起来都没有被WebMethod所感动。

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

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

1 个答案:

答案 0 :(得分:0)

如果你看一下CommentView.ascx的代码,他们会使用ICallbackEventHandler做同样的事情。这基本上呈现了评论预览以及评论本身。

然而,应该可以像你说的那样用[WebMethod]来做。我实际上已经定制了我自己的设置来改变CommentView以使用[WebMethod]并且它工作正常。

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

以上内容适用于BlogEngine.NET 2.6。