C# 我可以(或者应该)在控制器中使用ActionLink()

C# 我可以(或者应该)在控制器中使用ActionLink(),c#,asp.net-mvc-3,razor,C#,Asp.net Mvc 3,Razor,我需要向ModelState添加错误消息,如下所示: ModelState.AddModelError(string.Empty, string.Format("An account with the mobile or email you have specified already exists. If you have forgotten your password, please {0} it.", Html.ActionLink("Reset", "Reset", "Account")

我需要向ModelState添加错误消息,如下所示:

ModelState.AddModelError(string.Empty, string.Format("An account with the mobile or email you have specified already exists. If you have forgotten your password, please {0} it.", Html.ActionLink("Reset", "Reset", "Account")));
首先,如何做到这一点?顺便问一下,在MVC模式中这样做合适吗


或者我应该为ModelState添加一个键,让视图拾取它并生成错误消息吗?

视图应该执行类似的操作。在IMO中,您可以设置模型以反映发生的情况,并让视图决定如何显示UI。毕竟,您可能会决定更改链接的显示方式,而当只是更改UI时,您并不真的想更改控制器。

视图应该执行类似的操作。在IMO中,您可以设置模型以反映所发生的情况,并让视图决定如何显示UI。毕竟,您可能会决定更改链接的显示方式,如果只是更改用户界面,您也不想更改控制器。

我同意。现在我正试图做到这一点;但是,仍然无法从视图中为modelState中的键指定错误消息。是否查看了模型验证属性?我认为这无法通过属性实现。这是动态验证(检查用户是否存在)。顺便说一句,我已经求助于ViewData(在控制器中)+AddModelError(在视图中)方法,它已经开始工作了。但不是我喜欢的那样,我同意。现在我正试图做到这一点;但是,仍然无法从视图中为modelState中的键指定错误消息。是否查看了模型验证属性?我认为这无法通过属性实现。这是动态验证(检查用户是否存在)。顺便说一句,我已经求助于ViewData(在控制器中)+AddModelError(在视图中)方法,它已经开始工作了。但不是我喜欢的那样。