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

发布于 2024-09-15 17:24:20 字数 424 浏览 9 评论 0原文

我正在致力于自定义 BlogEngine.Net,以便能够从 AJAX 调用返回一些 HTML。基本上我想在服务器端渲染 UserControl,然后将生成的 HTML 返回到客户端调用。

我已经在其他应用程序中使用标有 [WebMethod] 属性的静态 PageMethod 多次执行此操作。但每当我使用 BlogEngine.Net 尝试此操作时,我都会得到返回的页面的完整 HTML。看起来甚至没有触及 WebMethod。

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

有什么想法或替代解决方案能够在服务器端呈现用户控件并使用 BlogEngine.Net 框架返回 HTML?

I'm working on customizing BlogEngine.Net to be able to return some HTML from an AJAX call. Basically I'd like to render a UserControl server-side and then return the resulting HTML to a client-side call.

I've done this many times in other applications using static PageMethods marked with the [WebMethod] attribute. But any time I try this with BlogEngine.Net, I get the full HTML of the page returned. It doesn't even look like the WebMethod is getting touched.

I've also tried to implement this as an HttpHandler, but I have the same result. As soon as I include a page (vanilla Page class) and use it to render the control, I get the full HTML of the page I am calling from instead of the generated code, leading me to assuming something is hijacking my code to render a Page.

Any ideas or alternate solutions to be able to render a user control server-side and return the HTML using the BlogEngine.Net framework?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

脸赞 2024-09-22 17:24:20

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

但是,也应该可以像您所说的那样,使用 [WebMethod] 来做到这一点。我实际上已经自定义了自己的设置来更改 CommentView 以使用 [WebMethod],并且效果很好。

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

以上适用于 BlogEngine.NET 2.6。

If you look at the code of CommentView.ascx, they do the same thing using ICallbackEventHandler. That basically renders the comment preview and also the comment itself.

However, it should be possible to do it like you said too, with [WebMethod]. I have actually customized my own setup to change CommentView to use a [WebMethod] and it works fine.

For an example of their own [WebMethod] implementation, have a look at AjaxHelper under admin folder, it's a dummy page whose purpose is to serve these web methods.

The above are for BlogEngine.NET 2.6.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文