Estou chamando uma partial view através do _Layout, essa partial view conterá um formulário de login, porém ao postar eu vou verificar se o usuário existe e caso não existir eu vou retornar o erro, porém queria que o erro aparece na partial view dentro da
view atual e não retornar somente a partial view.
_Layout
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
@Html.Partial("Login")
@RenderBody()
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
</body>
</html>
Partial View Login
@model TestePartialView.Models.Login
@Html.BeginForm("Login", "Home", FormMethod.Post)
{
@Html.AntiForgeryToken()
<div>
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
@Html.EditorFor(model => model.Senha, new { htmlAttributes = new { @class = "form-control" } })
<input type="submit" value="Cadastrar"/>
</div>
}
@section Scripts{
@Scripts.Render("~/bundles/jqueryval")
}
Model Login
namespace TestePartialView.Models
{
public class Login
{
public string Email { get; set; }
public string Senha { get; set; }
}
}
Controller
namespace TestePartialView.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
public PartialViewResult Login()
{
var login = new Login();
return PartialView(login);
}
[HttpPost]
public PartialViewResult Login(Login model)
{
ModelState.AddModelError("", "Retorno do validation");
return PartialView();
}
}
}
Não sei se estou fazendo correto as chamadas do partial view e o retorno do método..