0

我正在开发一个 mvc 应用程序,我想在操作无效时将“错误消息”呈现到屏幕上。

这是我所做的一个例子。

假设以下情况:

int result = _quantityToUse - item.quantityLeft;

result在这种情况下,此错误消息可能包括值不能为负的事实。这是我在这种情况下所做的:

if(result < 0)
{
   ViewData["ErrorMessage"] = "There are not enough left of this item to use.";

   return View();
}

而且,在我看来:

@{
    ViewBag.Title = "Object Management";
}

<h2>
    Object Management
</h2>

<span id="emptyMessage">@ViewData["ErrorMessage"]</span>

使用 Css,我会显示一条错误消息,当我返回控制器操作时将其取消,如果存在无效条件则重新填充。一些非常基本但有效的东西。

现在,我的问题是我必须使用这个过滤器来管理每个视图。相反,我想处理一些东西,也许是部分视图,我不知道如何处理,但是一些可以重用的东西,如果我需要修改,只需要修改一次,而不是每次出现。由于我几乎所有的观点都使用错误/结果消息,这将非常有用。

有人知道我该怎么做吗?谢谢!

4

1 回答 1

1

当然,如果您的 ViewBag 有任何错误,您可以拥有一个“Error.cshtml”部分视图,该视图将呈现错误。您可以将其连接到您的主视图 (_Layout.cshtml)。

在您的主视图中有一个部分,例如:

                <section id="errors">
                    @Html.Partial("_Error")
                </section>

现在,您可以有一个 Error.cshtml,它类似于:

@ if (ViewData["ErrorMessage"] != null) {
    <span id="emptyMessage">@ViewData["ErrorMessage"]</span>
}
于 2013-05-24T12:17:25.383 回答