使用类型化视图时如何在 ActionFilterAttribute 中设置模型数据

2024-03-29

我使用强类型视图,其中所有 ViewModel 都继承类 BaseViewModel。

在装饰所有控制器的 ActionFilter 中,我想使用模型。

现在我只能这样访问它:

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        ViewModelBase model = (ViewModelBase)filterContext.ActionParameters["viewModel"];
        base.OnActionExecuting(filterContext);
   }

问题是,我必须知道关键的“viewModel”。关键是 viewModel,因为在我的控制器中我使用了:

返回 查看("我的视图", 视图模型)

有没有更安全的方法来访问模型?


OnActionExecuting 在执行操作之前起作用 - 因此模型设置为 null。您可以在 OnActionExecuted 中访问 ViewData (或 ViewData.Model):

public override void OnActionExecuted(ActionExecutedContext filterContext)
{
    var model = filterContext.Controller.ViewData.Model as YourModel;

    ...
}

希望这可以帮助

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

使用类型化视图时如何在 ActionFilterAttribute 中设置模型数据 的相关文章

  • 在 jsTree 上下文菜单中创建自定义项目

    我在 asp net mvc3 中使用 jsTree 和 contextmenu 创建一个树视图 div ul li a href class usr Model Name a Html Partial Childrens Model li
  • MVC4 中的 ELMAH 和 API 控制器不记录错误

    在 MVC4 中使用 API 控制器 当控制器操作引发异常时 ELMAH 不会记录错误 我认为问题在于 MVC4 将 HTTP 状态代码设置为 500 并且它返回 JSON 对象中的异常详细信息 但它不会抛出未处理的异常 因此 ELMAH
  • 如何强制 Web API 识别查询字符串参数

    ASP NET MVC4 Web API v1 控制器定义如下 它应该接受 1 或 2 个查询字符串参数 然而 如果调用方法 ko 参数始终为 null 请求如下 如何修复以便 kclient 或 namepart 参数可以在查询字符串中传
  • 获取 Html.TextBoxFor 字段的 HTML id

    有没有办法在 Javascript 中获取 ASP NET MVC 控件生成的客户端 ID Html TextBoxFor m gt m Name 像这样 Html IdFor m gt m Name
  • 如何在 [Authorize(Roles="")] 中使用变量

    我有一个 MVC 5 C Intranet Web 应用程序 其中使用了 30 多个 Active Directory 角色 并且由于业务文化的原因 权限经常发生变化 为了让事情变得简单 我想我应该尝试这样的事情来确定谁可以访问控制器操作或
  • mvc3,你能给控制器一个显示名称吗?

    我用的是mvc3 是否可以为控制器和操作指定显示名称 DisplayName Facebook Employee public class EmployeeController Controller 在我的面包屑中 我将获得控制器名称和操作
  • jquery/javascript 处理后移至命名锚点

    在进行一些 jquery 处理后 如何将焦点移动到同一页面上的不同部分 名为锚点 函数 ABC 进行一些处理 然后 我需要将用户移动到同一页面上的某个部分 页面下方 您可以使用下面的代码将屏幕滚动到 div 只需更改选择器以匹配您要滚动到的
  • ASP.NET MVC - 授权属性登录重定向后保留 POST 数据

    我有一个带有评论的博客文章页面 任何用户 无论是否登录 都可以在页面底部看到一个表单来发表评论 当用户输入评论且未获得授权时 用户将被重定向到登录 注册页面 登录后 用户将被重定向回操作 但包含评论正文的 POST 数据会丢失 我使用 AS
  • Windows 身份验证在 IISExpress 中有效,但在 IIS 中无效

    我有一个奇怪的问题 我正在 Visual Studio 2013 中使用最新的 MVC5 我正在尝试创建一个托管匿名 API 的站点以及一个需要通过 Windows 身份验证的 Intranet 域凭据的管理仪表板 当通过 IIS Expr
  • WCF Rest 服务还是 ASP.NET MVC 控制器/操作?

    如果有人能提供一些关于哪种更有益的见解 我将不胜感激 WCF 中的 RESTful 服务可以提供与 ASP Net MVC 控制器相同的功能 即可以使用控制器 操作适当地形成 URL 使用其中一种比另一种有真正的好处吗 WCF休息服务将提供
  • 如何从 JavaScript 触发 ASP.NET Core 客户端验证

    有没有办法从 JavaScript 触发 ASP NET Core 客户端验证 我有一个 Razor Pages 页面 其中包含
  • 如何将除 Web API 之外的所有内容路由到 /index.html

    我一直在研究一个AngularJS项目 在 ASP NET MVC 内部使用 Web API 除非您尝试直接访问有角度的路由 URL 或刷新页面 否则它效果很好 我认为这将是我可以处理的事情 而不是胡闹服务器配置MVC的路由引擎 当前的We
  • MVC4:以电子邮件作为参数的 url 路由

    我有这个 url 在我的 VS Web 服务器上运行得非常好 http localhost 4454 cms account edituser email protected cdn cgi l email protection works
  • 将我的自定义模型绑定到我的 POST 控制器

    我正在使用最近发布的 MVC 4 Beta 4 0 20126 16343 并且正在努力解决反序列化 模型绑定不适用于数组的已知问题 请参阅此处堆栈溢出 https stackoverflow com questions 9592838 d
  • asp.net mvc - Ajax 刷新视图的每个元素

    希望在退出 jquery 对话框后使用 ajax 刷新当前页面 我有一个包含 foreach 循环的视图 数据是从模型中提取的 每个循环有 2 个编辑 删除按钮 当我单击 编辑按钮 时 将打开一个 jquery UI 对话框进行编辑 当我保
  • 将 VS2015 中的 ASP.NET Identity 中的 User Id 类型更改为 int

    默认情况下 VS 2015 中的 ASP NET Identity 使用字符串作为 AspNet 表的主键 我想使用 int 类型的 id 来代替 经过一些研究后发现 框架开箱即用地支持不同类型的 ID 在下面的答案中 我将展示要实现这一目
  • Kendo Ui MVC EditorTemplateName 在 PopUp 编辑模式下不起作用

    我想在 Kendo Ui 网格中使用 EditorTemplateName 作为外键列 当网格编辑模式为内联时 一切正常并且我的模板已加载 但是当将模式更改为弹出时不加载模板 如何修复它 Html Kendo Grid
  • 停止 IResponseCookies.Append() 编码 cookie。 dotnetcore 2.0 [重复]

    这个问题在这里已经有答案了 我们正在构建一个 dotnetcore 2 0 Web 应用程序 该应用程序通过 http 从遗留系统接收 cookie 并在响应中设置 cookie 当我调试应用程序时 我可以看到cookie value未进行
  • ASP.NET MVC4 CustomErrors DefaultRedirect 被忽略

    我有一个 MVC 4 应用程序 使用自定义 HandleErrorAttribute 仅处理自定义异常 我想拦截默认的 404 和其他非 500 错误页面 并用更有吸引力的内容替换它们 为此 我将以下内容添加到我的 Web config 中
  • 用于 mvc3 日期格式和日期验证的文本框

    我决定开始使用 MVC 3 并且在尝试将我的一个 Web 应用程序重做为 MVC3 时遇到了这个问题 我的项目是这样设置的 public class Project public int ProjectID get set Required

随机推荐

  • android:等待连接时显示进度对话框

    我试图在启动新活动时添加一个进度对话框 该活动必须等待来自互联网的响应 目前 等待时屏幕会变黑 有谁知道它需要放置在哪里才能工作吗 这个进度对话框 ProgressDialog dialog ProgressDialog show Sear
  • 多行 UIButton 和自动布局

    我创建了一个视图控制器 如下所示 我希望两个顶部按钮与整个视图的左 右边缘之间始终保持 20 个点 它们也应该始终具有相同的宽度 我已经为所有这一切创建了约束 并且它完全按照我想要的方式工作 问题是垂直限制 按钮应始终位于顶部边缘下方 20
  • 如何在 Dancer 模板中制作特定于页面的标题?

    我有一个标准的 Perl Dancer 应用程序 使用 Template Toolkit 作为渲染引擎 有两条路线 get gt sub template index get foo gt sub template foo My views
  • Doctrine2 将实体导出到数组

    I have Product具有多对一的实体Category实体 我需要商店Product会议中 首先我尝试实施 Serializable产品上的界面 我应该如何序列化我的相关Category实体 我是否也应该实施 Serializable
  • 错误!代码 EPERM

    我正在使用 Node v6 11 2 npm v5 3 0 和 Angular cli v1 2 7 我的大部分 npm 安装突然收到以下错误消息 以前没见过 mmeppiel MC LT MMEPPIEL MINGW64 Desktop
  • 我可以在调用 Flask app.run 之后让 Python 代码继续执行吗?

    尽管过去 30 年来我一直在使用其他语言进行编程 但我才刚刚开始使用 Python 我想让我的第一个应用程序保持简单 所以我从一个托管在 Raspberry Pi 上的小型家庭自动化项目开始 我的代码工作正常 控制阀门 读取流量传感器并在显
  • 使用 Django 和 Twilio 通过短信进行一次性用户身份验证

    我正在 Django 中为我正在创建的移动应用程序编写后端 我需要在用户第一次通过短信打开移动应用程序时对其进行身份验证 以验证其是否为真人 需要发生的事情如下 用户在应用程序中输入电话号码 服务器然后向用户发送带有验证码的短信 然后用户在
  • 如何通过 VSCode 始终在新窗口中打开文件?

    Using MacOS Mojave VSCode 1 28 2 我在文本编辑中使用 VSCode 如 js txt csv 当我双击并在 Finder 或桌面中打开文件 或 在 VSCode 中打开 时 如果我打开另一个工作区 它会在与我
  • 我可以为 C# 中的匿名类指定一个有意义的名称吗?

    我们都知道 当我们创建这样的匿名类时 var Employee new ID 5 Name Prashant 在运行时它将是以下类型 lt gt f AnonymousType0
  • gcc 优化标志 -O3 使代码比 -O2 慢

    我找到这个话题为什么处理排序数组比处理未排序数组更快 https stackoverflow com questions 11227809 why is processing a sorted array faster than an un
  • 如何发送 AJAX POST 请求并播放响应中的音频?

    我正在构建一个应用程序 用户可以单击按钮 然后它将数据发送到服务器 然后 服务器根据请求 很可能是 POST 中的数据计算音频 并将 WAV 文件返回到浏览器 我已经构建了接受 post 请求并使用 wav 文件响应的部分 但我不知道如何在
  • 将 QR 码调配到设备所有者模式失败

    我有一台运行 Android 7 1 1 的设备 我正在构建示例 DPC 应用程序以准备制作 COSU kiosk 应用程序 但我在配置设置中不断遇到错误 我采取的步骤 将设备恢复出厂设置 成功扫描二维码配置屏幕上的代码 应用程序下载成功并
  • Angular Http - toPromise 或订阅

    我观看了一些有关 Angular 的课程 发现有不同的方法来管理来自 Http 请求的数据 使用可观察量 map subscribe 使用承诺 toPromise then catch 我用过toPromise 在我的应用程序中 我发现它类
  • 如何添加不同的背景颜色到交替行到列表框项目 Windows Phone 8

    我是 Windows Phone 开发新手 我在列表框中显示数据 对于列表框中的所有行 背景颜色都是相同的 但我想为列表框项目的交替行添加两种不同的颜色 下面是列表视图的代码
  • 如何将图片添加到 javaFX 2.0 netbeans 项目

    您好 感谢您抽出宝贵的时间 我是 Netbeans 新手 我正在使用 Netbeans 7 1 RC1 版本 我遇到的问题是我似乎无法将图像添加到项目中 我正在 JavaFX 2 0 中设计一个 Web 应用程序 需要一张 jpg 图片作为
  • 对包含字符串和数字的数据帧索引进行排序

    我有一个数据框 其中索引值是由下划线分隔的字符串和数字的混合 sub int1 ICA int2 我想首先使用 int1 对列索引进行排序 然后使用 int2 对列索引进行排序 预期输出为 sub 1 ICA 1 sub 1 ICA 2 s
  • Spring 4 中有多个@ComponentScan?

    我正在使用 Spring 4 16 和 Java Annotations 我想做一些类似的事情 Configuration ComponentScan basePackages com example business includeFil
  • 自 iOS 5.1 以来,自定义 MPVolumeView 拇指图像未垂直居中

    我正在构建一个需要 MPVolumeView 来控制音量的应用程序 它在 iOS 5 1 之前工作得很好 但自 5 1 更新以来 拇指图像不再垂直居中 我尝试了一些方法 例如更改想象尺寸 调整视图 和滑块 的大小 但似乎没有任何效果 拇指不
  • Flutter 未检测到 Android SDK

    我一直在尝试让 flutter 来检测 Android SDK flutter doctor returns PS I Projects Flutter fluttertest flutterproject gt flutter docto
  • 使用类型化视图时如何在 ActionFilterAttribute 中设置模型数据

    我使用强类型视图 其中所有 ViewModel 都继承类 BaseViewModel 在装饰所有控制器的 ActionFilter 中 我想使用模型 现在我只能这样访问它 public override void OnActionExecu