繁体   English   中英

Razor 页面中的最佳实践:使用 AJAX 或处理程序处理 post/get 请求

[英]Best Practices in Razor Pages: Using AJAX or Handlers for post/get requests

一般来说,当您执行 POST 请求时,您希望重新加载页面。 虽然不总是。 当使用 GET 方法检索数据时,您可以考虑使用 AJAX。 然而,我对 Razor Pages 和 ASP.net 核心完全陌生。 我被告知我们应该总是加载页面。 由于我们使用 Razor Pages,因此使用 AJAX 向代码隐藏提交任何内容是不正确的。 否则使用 Razor Pages 的目的是什么。

我担心它会留下糟糕的用户体验。 如果我想运行报告,请检索数据并使用处理程序显示数据。 我需要重新加载页面。 如果我使用 AJAX,我需要 JSON,但它不需要重新加载页面。 如果我使用处理程序,我可以获得一个模型,我可以使用该模型在重新加载的页面上显示,而无需将其转换为 JSON。

Razor Pages 的最佳实践是什么? 好像每次我们回到 2003 年时都必须重新加载。

使用 AJAX 提交到 Razor Pages 代码隐藏完全没问题,我基于此构建了一个博客应用程序的管理面板,结果令人满意https://github.com/FanrayMedia/Fanray

Razor Pages 模型隐藏类用作将 JSON 返回到 AJAX 调用的便捷端点。 例如,我的博客作曲家是一个 Razor 页面,它有一个自动保存草稿功能,在视图中我有这样的js 代码

axios.post('/admin/compose?handler=save', this.payload, { headers: { 'XSRF-TOKEN': this.tok } }) ...

发布到此模型隐藏类代码

public async Task<JsonResult> OnPostSaveAsync([FromBody]PostVM post)
{
  ...

  return new JsonResult(postVM);
}

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM