私は次の 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には設定できないようです。OnActinExecutingOnResultExecuted
では、いったいどうすればストップウォッチを作ることができるのActionFilterでしょうか?