相关疑难解决方法(0)

我可以从动作过滤器中获取Action的返回类型吗?

我有一个ASP.NET MVC 2应用程序,我在其中创建自定义操作筛选器.此过滤器位于应用程序中的控制器上,并从数据库验证该功能当前是否可用.

Public Overrides Sub OnActionExecuting(ByVal filterContext As System.Web.Mvc.ActionExecutingContext)
  Try
    ' Check controller name against database.
    Dim controllerName = filterContext.Controller.GetType().Name
    controllerName = controllerName.Remove(controllerName.Length - 10)
    ' Look up availability.
    Dim available As Boolean = _coreService.GetControllerAvailability(controllerName)
    If Not available Then
      ' Redirect to unavailable notice.
      filterContext.Result = New RedirectResult("/Home/Unavailable/")
    End If
  Catch ex As Exception
    _eventLogger.LogWarning(ex, EventLogEntryType.Error)
    Throw
  End Try
End Sub
Run Code Online (Sandbox Code Playgroud)

我的问题是,根据已请求的操作,我需要将用户重定向到返回视图,部分视图或JSON的操作.

鉴于ActionExecutingContext,我可以找出最初请求的操作的返回类型是什么?

编辑:

好吧,我越来越近但又有另一个问题.

Public Overrides Sub OnActionExecuting(ByVal filterContext As System.Web.Mvc.ActionExecutingContext)
  Try
    ' Check controller name against database. …
Run Code Online (Sandbox Code Playgroud)

vb.net reflection asp.net-mvc

11
推荐指数
2
解决办法
5669
查看次数

.NET MVC:计算Web应用程序中的Action方法

我们有一个巨大的ASP.NET MVC 3应用程序.我们需要计算我们在课程中有多少公共方法currentClass is System.Web.Mvc.Controller.

任何符合此条件的类都将具有"AwesomeProduct.Web"的基本命名空间,但除了这些类可能属于哪个命名空间或者有多少深度级别之外,无法保证.

想出这个的最佳方法是什么?

asp.net-mvc asp.net-mvc-3

4
推荐指数
1
解决办法
332
查看次数

标签 统计

asp.net-mvc ×2

asp.net-mvc-3 ×1

reflection ×1

vb.net ×1