【问题标题】:Accessing "this" from a Helper method in ASP.NET MVC 3从 ASP.NET MVC 3 中的 Helper 方法访问“this”
【发布时间】:2012-07-20 23:24:42
【问题描述】:

我有一个需要在多个视图中使用的 Helper 方法。为了实现这一点,我尝试实现 Scott Guthrie 在这里展示的方法:http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax-within-razor.aspx。为了便于参考,我的辅助方法如下所示:

  @helper MyMethod(string parameter)
  {
    MyNamespace.MyClass.HelperMethod(this.Request, parameter)
  }

如您所见,我需要访问与视图关联的 HttpRequestBase 对象。如果我在 _Layout.cshtml 的顶部定义方法,则代码可以正常工作。但是,我需要在其他视图中使用它。因此,如前所述,我使用了 scottgu 强调的方法。不幸的是,我现在收到一个运行时错误:

“CS0026:关键字 'this' 在静态属性、静态方法或静态字段初始化程序中无效”

我怎样才能克服这个困难?

【问题讨论】:

    标签: asp.net-mvc-3


    【解决方案1】:

    如果是您需要的 HttpRequestBase 对象,请尝试传入 HttpContext.Current.Request 而不是 this.Request

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-08
      • 2016-12-13
      • 1970-01-01
      • 2010-12-23
      • 2014-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多