Asp.net mvc 3 要在布局中显示来自子操作的消息吗?

Asp.net mvc 3 要在布局中显示来自子操作的消息吗?,asp.net-mvc-3,child-actions,Asp.net Mvc 3,Child Actions,我想在布局中显示来自子操作的消息?我该怎么做? 就像在我的布局中一样,我有一个登录表单(呈现为子操作)。。因此,当登录失败时,我希望在特定DIV中的布局中显示一条消息。问题是布局可能在子视图之前呈现。还有另一个问题,布局是由任何控制器渲染的。有什么想法吗?你可以在布局的某个地方放一个验证摘要。(语法): @Html.ValidationSummary(false) 然后用[Required]属性装饰正在传递给您的登录名的viewmodel public class LoginViewModel

我想在布局中显示来自子操作的消息?我该怎么做?
就像在我的布局中一样,我有一个登录表单(呈现为子操作)。。因此,当登录失败时,我希望在特定DIV中的布局中显示一条消息。问题是布局可能在子视图之前呈现。还有另一个问题,布局是由任何控制器渲染的。有什么想法吗?

你可以在布局的某个地方放一个验证摘要。(语法):

@Html.ValidationSummary(false)

然后用[Required]属性装饰正在传递给您的登录名的viewmodel

public class LoginViewModel
{
    [Required(ErrorMessage="Please enter a your user name.")]
    public string UserName { get; set; }

    [Required(ErrorMessage = "Please your password.")]
    public string Password{ get; set; }
}
或者,如果您想显示更一般的错误消息,只需将viewmodel属性保留为[Required]属性,然后在登录控制器中的POST方法中执行以下操作:

[HttpPost]
public ActionResult Login(LoginViewModel viewModel)
{
    if (!ModelState.IsValid)
    {
        ModelState.AddModelError("Error", "Sorry, your login failed, please try again.");
    }
}

该错误将显示在验证摘要中。

我有一个带有验证摘要的联系人页面,如果我在该页面上登录,会发生什么?