【发布时间】:2011-05-07 08:27:47
【问题描述】:
我的大多数操作方法在成功时返回 PartialViews,在失败时返回 RedirectToAction 结果。为此,我想将模型状态错误复制到 TempData 中,以便将它们显示给用户。我在这里阅读了关于 SO 和一些外部链接的几个问题,但没有一个对我有用......我正在用 MvcContrib 的 ModelStateToTempData 属性装饰 ActionMethod,然后在视图中显示如下:(这只是原型)
@if (TempData.Count > 0)
{
foreach (var obj in TempData)
{
var errors = ((ModelStateDictionary)obj.Value).Values;
foreach (var error in errors)
{
<div style="position:absolute; background:Black; color:White; top:250px; left:550px;">
<span style="margin-bottom:5px; display:block; height:25px;">@error.Value</span>
</div>
}
}
}
我不断收到System.Web.Mvc.ValueProviderResult,而不是显示错误本身。我知道这都是错误的,最终我想将模型状态错误过滤到 TempData 中的字典中,但现在我只想在视图中显示错误字符串。
P.S:我尝试在没有 MvcContrib 属性的情况下手动执行此操作,并且得到了相同的结果。但我更喜欢使用自己的代码,这样我可以更好地控制整个问题。
有什么建议吗?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 modelstate tempdata