我们可以在表单开始之前打印错误消息,我正在使用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`
技术性,这是正确的吗?
答案 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