我可以在mvc中的表单开始之前打印错误消息吗?

时间:2017-06-08 09:00:56

标签: asp.net-mvc

我们可以在表单开始之前打印错误消息,我正在使用mvc v4

这是我的控制器动作代码           [HTTPGET]

        public ActionResult ChangePassword(string aToken)
        {
          aToken = Server.UrlDecode(aToken);

          if (aToken != null)
          {
           .........
           }
          else
          {
      ViewBag.Error = "Sorry, this link is not being recognized as valid. 
          }

    return view();`enter code here`
        }

这是我的cshtml文件

    @if (ViewBag.Error != null)

    {
      <p class="text-danger">
        @ViewBag.Error
      </p>
    }
    else
    {
      using (Html.BeginForm("ChangePassword", "Account", FormMethod.Post, new { 
     @class = "form-horizontal ", role = "form" }))
      {

         ........................
      }

    }`enter code here`

技术性,这是正确的吗?

2 个答案:

答案 0 :(得分:0)

这是否解决了这个问题?是。但是,将用户重定向到另一个使用静态文本的页面会更安全。此外,您可以使用ModelState但它会在后期操作上产生问题。

答案 1 :(得分:0)

您好我们可以在任何地方打印错误消息,根据我们提供错误消息的地方,它将呈现页面。

因此,根据您的上述代码本身,viewbag将在表单开始之前打印错误消息,但只是一个小小的澄清。

  

ViewData和TempData需要进行类型转换和空检查   ViewBag不需要这样的检查。

它将为您节省几行代码,如下所示:

 <p class="text-danger">
    @ViewBag.Error
  </p>
  using (Html.BeginForm("ChangePassword", "Account", FormMethod.Post, new { 
 @class = "form-horizontal ", role = "form" }))
  {

     ........................
  }

其他信息:http://www.binaryintellect.net/articles/36941654-8bd4-4535-9226-ddf47841892f.aspx

希望以上信息有用

由于

KARTHIK