Я новичок в MVC 4 и бритву, у меня есть вид макета содержит форму, расположенную в частичном,форма проводки находится в частичном
Моя модель:
public class SubscribeModel
{
[Required(ErrorMessage = "Veuillez saisir votre adresse mail pour s'inscrire ...")]
[EmailAddress(ErrorMessage = "Vous devez saisir une adresse mail valide \"Ex: [email protected]\"")]
public string SubEmail { get; set; }
}
Макет делают частичный вид «_subscribe "Wich содержит форму для регистрации на рассылку:
<body>
<div id="container">
<header>
<div id="banner">
@Html.Partial("~/Views/Soscom/_Subscribe.cshtml")
</div>
....
</body>
мой частичный вид "_Subscribe":
@model SoscomAppMvc.Models.SubscribeModel
@using (Html.BeginForm("Subscribe", "Soscom"))
{
@Html.TextBoxFor(m => m.SubEmail, new { placeholder = "Email pour s'inscrire à la newsletter", @class = "subscribebox", maxlength = "70" })
@Html.ValidationMessageFor(m => m.SubEmail)
<input class="subscribeBtn" type="submit" value="s'inscrire">
}
Я использую HttpGet метод действий для отправки модели с частичным видом «_subscribe»:
[HttpGet]
public PartialViewResult Subscribe()
{
return PartialView("_Subscribe", new SubscribeModel());
}
но когда я использовать HttpPost действия, приведенные ниже, я получил частичный вид без макета страницы ??
[HttpPost]
public ActionResult Subscribe(SubscribeModel subscribe)
{
if (!ModelState.IsValid)
return PartialView("_Subscribe", subscribe);
return View(subscribe);
}
Вопросы:
есть способ, чтобы включить в ответ сообщение в текущем представлении? Пожалуйста, дайте мне знать, если я ошибаюсь или что-то неправильно понял.
Я думаю ** шаблонные помощники ** могут вам помочь. Взгляните на эту ссылку - [Templated Helpers] (http://lostechies.com/jimmybogard/2011/09/07/building-forms-for-deep-view-model-graphs-in-asp-net-mvc/). Надеюсь, у вас есть идея. –