私は次の 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")
、ビューに表示しようとすると、空白になります。
私はここで愚かな何かを見逃していますか?
編集:
に を設定できますが、ViewData
には設定できないようです。OnActinExecuting
OnResultExecuted
では、いったいどうすればストップウォッチを作ることができるのActionFilter
でしょうか?