我应该返回视图以确认某个过程是否成功?

时间:2013-03-07 01:16:22

标签: asp.net asp.net-mvc vb.net asp.net-mvc-3

假设我有一个注册页面。只是" Name"这是一个简单的视图。和"电子邮件"输入框。当用户提交其详细信息时,控制器将在数据库中创建用户,然后返回(相同)视图。

现在返回了相同的视图,我希望视图检测到该过程是成功的。即我需要将一些东西传回视图,让它显示略有不同的东西。该页面基本相同,但我没有输入框,而是有一些文字"已成功注册"。

一种方法:

ViewBag.RegistrationWasSuccessful = True

然后在视图中只需检查该变量是否为真,然后显示"成功"文本。

另一种方法是将其添加到模型中:

Function Registration(ByVal model as RegistrationView) As ActionResult
    If ModelState.IsValid Then
        model.RegistrationWasSuccessful = True
    End If
    Return View(model)
End Function

再次,检查该变量是否为真。

检查表单是否成功的最佳方法是什么?上面的方法看起来有点难看。

1 个答案:

答案 0 :(得分:3)

如果您正在寻找显示成功或失败消息的最简洁,最简单的方法,具体取决于流程成功/失败,我建议您在ViewBag中添加一条消息并在View中发布成功或失败消息。 / p>

在您的控制器

if processSuccess == true
   ViewBag.RegistrationMessage = "Success"
else 
   ViewBag.RegistrationMessage = "Failure"

在视图显示中

<span> @ViewBag.RegistrationMessage </span>