Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ActionFilter.OnActionExecuted中的filterContext.Controller.ViewData.Model为空

ActionFilter.OnActionExecuted中的filterContext.Controller.ViewData.Model为空
EN

Stack Overflow用户
提问于 2011-12-18 04:28:14
回答 2查看 3.5K关注 0票数 3

我有一个ASP.NET MVC 3项目,其中包含一个模型绑定到视图模型的POST操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[HttpPost]
public virtual ActionResult Reply(ReplyViewModel viewModel)
{
    // ...
}

我有一个ActionFilter,我想在OnActionExecuted中查看该视图模型,但ViewData.Model为空。我是不是误解了ViewData.Model是什么?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class CopyViewModelToTempDataAttribute : System.Web.Mvc.ActionFilterAttribute
{
    public override void OnActionExecuted(System.Web.Mvc.ActionExecutedContext filterContext)
    {
        // filterContext.Controller.ViewData.Model is null
    }
}
EN

回答 2

Stack Overflow用户

发布于 2011-12-18 04:34:28

这可能是此问题的解决方案1.我假设您指定了Model in Action

现在来看Filter

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public override void OnActionExecuted(System.Web.Mvc.ActionExecutedContext filterContext)
    {
        if(filterContext.HttpContext.Request.HttpMethod == "POST")
        {
        // Get your model here.
        }
    }
票数 1
EN

Stack Overflow用户

发布于 2011-12-18 12:33:17

在返回视图时,您的控制器操作必须传递视图模型:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[HttpPost]
public virtual ActionResult Reply(ReplyViewModel viewModel)
{
    // ...
    return View(someViewModel);
}

现在,您将能够在操作过滤器中获取返回的视图模型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8549814

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文