c# - mvc 5 中不会触发基本方法

标签 c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-5

我有以下基本 Controller

public class BaseController : Controller
{
   protected override void Execute(RequestContext requestContext)
   {

          base.Execute(requestContext);
   }
}

实现

  public class HomeController : BaseController { }

我们从mvc3升级到mvc5,在mvc5中这个方法没有被调用,这里需要做什么?

最佳答案

尚不完全清楚您的目的是什么,但有几个问题。你的普通 Controller 继承你的BaseController吗?

public class MyController : BaseController

我不明白这一行的意思......

var global = requestContext.HttpContext.Request.QueryString["global"] == null ? true : false;

您设置了该值,然后不对它执行任何操作。您是否打算将此值存储在基本 Controller 中,以便您可以从所有其他 Controller 访问它?

当然,如果查询字符串中缺少 global 那么它应该是 false 而不是 true。

public class BaseController : Controller
{
   public bool isGlobal { get; private set; }

   protected override void Execute(RequestContext requestContext)
   {
      this.isGlobal = requestContext.HttpContext.Request.QueryString["global"] == null ? false : true;
      base.Execute(requestContext);
   }
}

关于c# - mvc 5 中不会触发基本方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24502389/

相关文章:

c# - 添加 Controller 错误无法检索元数据

asp.net-mvc-3 - MVC3 和 KnockoutJS DRYly

c# - 如何使用javascript实现隐藏和显示单选按钮

c# - 为什么在 EditorTemplate 中呈现集合时会得到错误的表单元素名称?

c# - 在 C# 中创建数据表

c# - 在 Xamarin.Forms 的 WebView 中通过 Javascript onClick 事件调用 C# 函数

c# - 跨 AppDomain 调用破坏了运行时

c# - 如何在 ActiveMQ 中使用 MaxReconnectAttemps

c# - 有没有什么可以将奥尔森时区列表缩减为用户界面可读的格式(就像谷歌日历一样)?

c# - 如何将动态变量传递给 asp.net mvc 中的授权属性类?