我的服务层向控制器发回一个带有警告/成功/信息/错误消息的DTO,该控制器从基本控制器继承,在此处我以消息方式处理消息。MVC - 自动处理用户通知
我不知道我的执行是否是完全的废话,我真的想要一些建议!
DTO
Public Class ExecutionResult
Public Enum AlertType
Warning
Success
Info
[Error]
End Enum
Public Property Type() As AlertType
Public Property Message() As String
End Class
基地控制器: (与我可以从每一个控制器访问属性executionResult)
Public Class BaseController
Inherits System.Web.Mvc.Controller
Protected Overloads Overrides Sub OnActionExecuted(ByVal ctx As ActionExecutedContext)
Alert()
End Sub
Public Property executionResult As New ExecutionResult
Public Sub Alert()
If Not String.IsNullOrWhiteSpace(Me.executionResult.Message) Then
TempData.Add(Me.executionResult.Type, Me.executionResult.Message)
End If
End Sub
End Class
控制器:
...
Inherits BaseController
...
Function SomeFunction() As ActionResult
executionResult = _service.SomeFunctionInTheServiceLayer(viewModel)
End Function
然后我从主页
@For Each item As KeyValuePair(Of String, Object) In TempData
If (TempData.ContainsKey(item.Key)) Then
@<div class="alert [email protected]">
@item.Value
</div>
End If
Next
如果它适用于你和你对解决方案感到满意,没关系,不是吗? – Kenneth 2013-05-13 08:58:25
只想知道这种情况是否存在“最佳实践”,因为我认为每个人都必须在MVC网络应用程序中以某种方式通知用户。 – stare 2013-05-13 09:02:39