c# - 仅在从特定操作重定向时才允许访问操作

标签 c# .net asp.net-mvc asp.net-mvc-2

有没有一种好的方法来限制对一个 Action 的访问,这样你就只能访问它,如果你是从另一个 Action 重定向的。例如:

    [HttpPost]
    public virtual ActionResult Create(MyViewModel vm)
    {            
        if (ModelState.IsValid)
        {
            // do some work

            return RedirectToAction("CreateSuccess");
        }
        else
        {
            return View(vm);
        }
    }


    public virtual ActionResult CreateSuccess()
    {
        // only allow execution if you were redirected from Action "Create" 
    }

最佳答案

一个简单的方法是在 TempData 中存储一个标志在第一个方法中检查该标志是否存在于重定向到的方法中。
TempData 用于在操作请求之间传递状态信息,并且只会持续请求的持续时间,因此您无需担心清除它。

关于c# - 仅在从特定操作重定向时才允许访问操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3864366/

相关文章:

c# - LINQ where 子句中的可变条件

.net - 确定 Windows 当前是否正在播放声音

c# - 当 Controller 在单独的类库中时覆盖 MVC Controller

asp.net-mvc - VS 2013 无法将现有项目添加到 TFS 源代码管理

c# - (datagridview) 根据列值更新行字体颜色

c# - 了解 C# SIMD 输出

c# - 如何在 .NET 中安装 GestureRecognizer 组件?

c# - 运行 WebAPI 的路径

C# WPF 不确定进度条

c# - 在 LINQ to SQL 中创建按位运算符?