ASP.NET MVC:动作过滤器设置控制器变量?

2024-01-07

我有一个场景,对于每个页面请求,我都必须检查会话是否存在特定 ID。如果发现这一点,我必须从数据库中获取相关对象并将其提供给控制器。如果找不到会话 ID,我需要重定向用户(会话已过期)。

目前,我有一个自定义代码块(几行),它在控制器内的每个操作方法的开始处执行此操作 - 这似乎是不必要的重复。

这种场景值得使用动作过滤器吗?

Thanks

更新 伙计们,这里有一些很棒的信息。谢谢


是的,这听起来像是动作过滤器的一个很好的应用,因为您可以在控制器级别应用它来对所有动作进行操作。如果您不想手动将其添加到所有控制器,您也可以将其作为控制器基类的一部分,或者编写自己的控制器工厂,自动将此操作过滤器应用于每个控制器。

See ASP.NET MVC 将对象从自定义操作过滤器传递到操作 https://stackoverflow.com/questions/1809042/asp-net-mvc-pass-object-from-custom-action-filter-to-action用于将数据从动作过滤器传递到动作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC:动作过滤器设置控制器变量? 的相关文章

  • C# ASP.NET MVC:视图中的单行 If 子句?

    我遇到了一个小问题 并且无法解决它 我的看法是这样的 Try or
  • 使用内存中的单元测试 .ToListAsync()

    下面是由于内存数据库集不支持 ToListAsync 而在 ShouldNotThrow 上失败的测试 我没有方便的确切措辞 但你明白了 如果它很重要 我正在尝试模拟实体框架版本提供的数据库集 6 1 3 TestFixture publi
  • 检测 ASP.NET MVC 上的会话过期

    我构建了一个购物车 它使用会话状态在用户浏览商店时保留购物车数据 我遇到一个问题 如果我在购物车的第 1 步上长时间打开浏览器窗口 然后按 转到第 2 步 我的操作会引发错误 因为第 2 步操作假定会话尚未过期并且ShopCart 对象处于
  • 将 MVC 站点部署到 IIS 会导致找不到默认共享部分视图

    我有一个可以在本地 IIS 上完美运行的网站 我的所有页面都使用默认的共享部分视图 这称为预期 Layout cshtml 该视图放置在我的共享文件夹中 这可以在这里看到 正如我所期望的那样 这非常有效 不过 我现在发布了我的网站 然后 我
  • 如何在编辑器模板中获取序列/数组索引?

    案件 我有一个使用 X 类编辑器模板显示的 X 类项目列表 问题 如何获取编辑器模板内部正在处理的项目的索引 我一直在使用这个 HtmlExtension 它只返回迭代所需的 id 它基本上是一个正则表达式ViewData Template
  • 使用 IIS 发布:找不到服务器 DNS

    我正在尝试使用 IIS 发布我的项目 我能够通过 Visual Studio 发布它 La aplicaci n web se public correctamente file D www plataformafantasy com Co
  • asp.net mvc html 属性没有值

    我正在尝试根据 HTML5 规范创建一个隐藏表单 其中隐藏属性在没有值的情况下使用 现在我不知道如何将其强制到 asp net mvc 中 上面的方法不能编译 Compiler Error Message CS0103 The name h
  • 用户控制事件处理程序在回发时丢失

    我有一个名为 LeftMenu 的菜单用户控件 它有一个链接项的项目符号列表 它在 ascx 页面上是这样的
  • 我可以在 IIS 中禁用大量更改通知吗

    我偶尔会收到以下导致应用程序池被回收的事件 shutDownMessage CONFIG change HostingEnvironment initiated shutdown Overwhelming Change Notificati
  • 输入类型=图像 - onclick(),将触发其事件,但在 jquery 中的函数上表现不佳

    我认为这可能是两篇文章 2个问题 所以如果你对此发表评论 我会将它们分开 主要问题实际上是 我怎样才能为按钮设置图像背景 简单且正确 我想现在我可以确定这些事实了 因为我在将图像设置为按钮背景时遇到了 小 问题 我想 好吧 如果很难设置的话
  • 如何禁用“您是否只想查看安全传送的网页内容”警告?

    我的网站有完整的 https 及其使用外部 jquery 资源 即 http 在 IE 8 中 当我重定向网站时 它给了我 您只想查看安全传送的网页内容 警告 如何避免这种情况 有没有可用的脚本可以解决这个问题 提前致谢 似乎有两个可能的问
  • 单个方法(即扩展方法)之间的调用不明确

    我有一个扩展方法 例如 public static class Extension public static string GetTLD this string str var host new System Uri str Host i
  • 如何将 Razor 视图转换为字符串?

    我想使用我的 Razor 视图作为某种发送电子邮件的模板 所以我想将我的模板 保存 在视图中 将其作为字符串读入控制器 进行一些必要的替换 然后发送它 我有有效的解决方案 我的模板作为 HTML 页面托管在某处 但我想将其放入我的应用程序中
  • ASP.Net 中的 Session.Abandon() 和 Session.Clear() 有什么区别?

    有什么区别Session Abandon and Session Clear 在 ASP Net 中 Session Abandon 将结束当前会话 Session End将被解雇 下一个请求将激发Session Start event S
  • 多级父子排序

    我有一个物品清单 ID 名称 ParentID 1 abc 0 级别1 2 定义 1 3吉1 4 jkl 0 5米诺2 6 季度 5 7 AAA 1 8 威克斯 0 我希望列表排序为 美国广播公司 啊啊 定义 姆诺 吉 jkl 维克斯 也就
  • 相对于路径匹配路由

    我想要任何以以下结尾的网址 templates filename 使用路由属性映射到特定控制器 例如 public class TemplateController Controller Route templates templateFi
  • 如何使用 JavaScript 中的值填充下拉列表?

    我在 Tridion CMS 扩展中的功能区工具栏按钮中添加了一个按钮 单击该按钮后 将显示一个弹出页面 其中包含两个下拉菜单 通过更改第一个下拉控件中的值 我应该填充第二个下拉控件的值 就我而言 我正在使用ASP drop down li
  • ASP.Net CascadingDropDown 和 EnableEventValidation="false"

    我刚刚从 AJAX 工具包中获得了 CascadingDropDown 与 SelectedIndexChanged 一起使用 以重定向到传递所选值的查询字符串的页面 我好高兴啊 但是 我只能通过向页面添加 EnableEventValid
  • 如何阻止gridview列自动编码html实体

    我对 ASP NET 相当陌生 在使用 gridview 时遇到了问题 我添加了一些包含 符号的条目 例如 PR Murphy Associates 在将数据插入数据库之前 我没有对数据进行任何编码 当网格视图更改为编辑模式时 我的文本如下
  • 使用post方法将多个参数发送到asp.net core 3 mvc操作

    使用 http post 方法向 asp net mvc core 3 操作发送具有多个参数的 ajax 请求时存在问题 参数不绑定 在 dot net 框架 asp net web api 中存在类似的限制 但在 asp net mvc

随机推荐