ASP.NET MVC,ActionFilters,静态类和传递数据
|
我想听听您对以下情况的意见和建议: 我已经定义了一个自定义的ActionFilter,它可以完成一些工作并带来一些价值.我想在控制器动作和模型中使用该值. 现在,我可以使用TempData将此值从ActionFilter传递给任何控制器操作方法,然后将此值分配给传递给返回视图的所有模型. 我相信它会起作用,但是这个TempData会在会话中出现,当时没有人真正需要它.该值应该在单个请求期间专门用于代码,之后它会有效地使其无效. 我提出了两个选择: >在ActionFilter中,我在OnActioExecuting()的TempData中设置了这个值,然后在OnActionExecuted()中将其删除.我是否正确理解,当调用OnActionExecuted时,控制器操作已完成,响应已经生成,并且此TempData内容尚未进入会话YET? 还有其他/更好的选择我还没考虑过吗? 解决方法我发现使用ActionParameters使您的代码非常容易测试.你可以这样做:// inside your actionfilter
public override void OnActionExecuting(ActionExecutinContext context)
{
var someData = // ... load some data
context.ActionParameters["someData"] = someData;
}
// and then in your action method
[ProvideSomeData]
public ViewResult Index(SomeData someData)
{
// someData will be populated in here
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net mvc partialview @ Ajax.ActionLink不起作用
- asp.net-mvc – 具有引导Navbar的MVC – 将所选项目设置为活
- asp.net – 如何在SQL数据库中创建和存储用户定义的自定义字
- asp.net-core – 如何使用Identity Server 4使用桌面/移动应
- asp.net – 是否使用Page_IsValid或Page_ClientValidate()(
- asp.net – 经典ASP出站TLS 1.2
- asp.net – Microsoft Jet数据库引擎找不到对象’Sheet1 $’
- asp.net-mvc – 它是否有意义在Webapi中有ViewModel?
- 回发后用F5写的asp.net问题,因为它做了应有的事情
- 如何为Asp.Net中的所有子文件夹注册HttpHandler?
- asp.net-mvc – asp.net mvc 3 webgrid排序依然?
- ASP.NET MVC ViewModel模式
- 如何不缓存ASP.NET用户控件?
- asp.net – 在VMware主机中扩展 – 添加vCPU或VM
- asp.net-mvc – asp.net mvc从包中排除css文件
- asp.net-mvc-3 – 如何阻止Ninject重写自定义Dat
- asp.net-mvc – IIS劫持CORS Preflight OPTIONS请
- asp.net-mvc – 使用Ninject重构依赖注入的ASP.N
- asp.net – 无法找到请求的.Net Framework数据提
- MVC 5应用程序 – 实现OAuth授权代码流程
