2017-06-08 25 views
1

才能打印错误消息的形式开始之前,我使用MVC V4我们可以在mvc的表单开始之前打印错误消息吗?

这是我的控制器操作码 [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` 

技术性, 它是否正确?

回答

0

这是否解决问题?是。但是,将用户重定向到具有静态文本的其他页面会更安全。此外,您可以使用ModelState,但它会在发布操作时产生问题。

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

+0

我们c放在任何地方,但它有可能得到它在另一个partialcontrol? – Adrian

+0

嗨Anirudha Gupta,我希望在这里partialcontrol控制意味着部分视图,如果是的话,我们可以通过并将其作为模型本身。请参阅此链接:https://stackoverflow.com/a/20368646/3397630。谢谢 –

相关问题