asp.net-mvc - 如何在 ASP.NET MVC 中使用操作过滤器路由到不同的 View 但使用相同的 URL?

标签 asp.net-mvc asp.net-mvc-3

是否可以制作一个过滤器,在(大部分)处理完 Controller 操作后,检查特定的测试条件并向用户透明地路由到不同的 View (即 URL 中没有变化)?

这是我对一些伪代码的最佳猜测:

    public override void OnResultExecuting(ResultExecutingContext filterContext)
    {
        // If some condition is true
        //  Change the resulting view resolution to XYZ

        base.OnResultExecuting(filterContext);
    }

最佳答案

filterContext.Result = new ViewResult
{
    ViewName = "~/Views/SomeController/SomeView.cshtml"
};

这将使 Action 的执行短路。

关于asp.net-mvc - 如何在 ASP.NET MVC 中使用操作过滤器路由到不同的 View 但使用相同的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7601681/

相关文章:

asp.net-mvc - azure 远程网站不显示我的所有代码文件

asp.net-mvc-3 - 不等于/不包含 lambda 表达式中的运算

asp.net - 如何创建模型绑定(bind)的“是/否”单选按钮,该按钮在 ASP.NET MVC 中的页面加载时未选择任何选项?

asp.net-mvc-3 - 如何验证列表中的单个项目

.net - 无法通过 Html 帮助程序中的父接口(interface)访问根接口(interface)属性

asp.net-mvc - SSL 握手问题? (是 : Web page hangs, 只有清除浏览器缓存有帮助)

asp.net-mvc - 如何使 Html.ValidationMessageFor() 呈现 DIV 而不是 SPAN?

asp.net-mvc-3 - 将 WIF 与 asp.net MVC 3 一起使用,我在哪里定义 STS 注销端点?

c# - Ajax.BeginForm 在给出 actionName 和 controllerName 后不输出表单操作

c# - ASP MVC 编辑模型中的某些实体