Я написал следующий ActionFilterAttribute
Imports System.Web.Mvc
Namespace Mvc.Filters
Public Class StopWatchFilter : Inherits ActionFilterAttribute
Private tStart As DateTime
Private tStop As DateTime
Public Overrides Sub OnActionExecuting( _
ByVal filterContext As ActionExecutingContext)
tStart = DateTime.Now
End Sub
Public Overrides Sub OnResultExecuted( _
ByVal filterContext As ResultExecutedContext)
tStop = DateTime.Now
filterContext.Controller.ViewData("StopWatch") = _
((tStop - tStart).TotalMilliseconds / 1000).ToString(".00")
End Sub
End Class
End Namespace
Я установил свой контроллер
''# Fixes SO code coloring
<MyApp.StopWatch()>
Function Index() As ActionResult
Return View()
End Function
Но затем, когда я пытаюсь отобразить ViewData("StopWatch")
в моем представлении, оно просто пустое.
Я скучаю по чему-то глупому?
EDIT:
Похоже, что я могу установить ViewData
в OnActinExecuting
, но не в OnResultExecuted
.
Итак, с какой стати я могу построить секундомер ActionFilter
?