c# - 是否可以在设置页面上的 .cshtml.cs 文件中执行 OnPost() 方法之前执行特定的代码块?
问题描述
我想确定是否应该允许OnPost()
执行的页面数量很多。
OnPost()
我想知道您是否可以/在发生可能阻止OnPost()
调用之前执行代码块的最佳方法是什么?
我知道您可以在每个页面的顶部进行检查并调用一些对象/类方法来指示,但是在针对特定页面集OnPost()
执行之前还有其他方法可以执行吗?OnPost()
(使用 Razor 页面,而不是 MVC)
解决方案
您可以在选择处理程序方法之后但在执行之前使用过滤器来执行代码:
public override void OnPageHandlerSelected(PageHandlerSelectedContext context)
{
if(context.HandlerMethod.MethodInfo.Name == nameof(OnPost))
{
// code placed here will only execute if the OnPost() method has been selected
}
}
推荐阅读
- python - 正则表达式从字符串中删除 'by'
- java - 如何在不返回值的情况下显示消息
- c - C -Wformat 警告 printf 中的整数提升
- javascript - 如何打破 querySnapshot forEach 循环方法?
- python - 将图像添加到 Tkinter 中的按钮
- java - Aws AuthenticationHandler
- swift - 如何在两个文本字段中至少包含一个字符之前禁用按钮?
- python - 尽管设置了超时,但 Python 请求发布超时
- excel - 如何在不使用 VBA 中的自定义类的情况下构建最小的 Excel-VBA 链接列表
- android - Flutterfire firebase_auth 不再起作用