2013-10-12 7 views
0

У меня есть частичный вид EnquiryForm на моем индекс страница, я пытаюсь отправить данные из Частичного просмотра.MVC 4 Бритва. Частичная форма просмотра Проверка

[HttpPost] 
public ActionResult EnquiryForm(Booking model) 
{ 
    if (ModelState.IsValid) 
    { 
     ........ 
    } 
    return RedirectToAction("Index", "Home"); 
} 

Когда форма размещена пустой проверки не работает, на стороне сервера Validation

Бронирование Модель

public class Booking 
{ 
    [Required(ErrorMessage = " - Required")] 
    public string Name { get; set; } 

    [Required(ErrorMessage = " - Required")] 
    [RegularExpression("[email protected]+\\..+", ErrorMessage = "In-Correct Email")] 
    public string Email { get; set; } 
} 

С уважением Спасибо

+0

показать страницу с просмотром и частичный просмотр. Если вы используете бритву, я предлагаю вам попробовать шаблон. – Miller

+0

да Я использую Razor, любую ссылку о том, как использовать шаблон – Moksha

+0

http://coding-in.net/asp-net-mvc-3-how-to-use-editortemplates/ Это может быть помощь – Miller

ответ

0

Если проверка является ложным, и вы перенаправляйте страницу на страницу «/ Home/Index», вы не увидите сообщение проверки. См удар:

[HttpPost] 
public ActionResult EnquiryForm(Booking model) 
{ 
    if (ModelState.IsValid) 
    { 
     ........ 
    } 
    // return RedirectToAction("Index", "Home"); 
     return View(); 
} 

Или вы можете попробовать следующий код:

Ваш контроллер

[HttpGet] 
public ActionResult EnquiryForm() 
{   
    return View(); 
} 

[HttpPost] 
public ActionResult EnquiryForm(Booking model) 
{ 
    if (ModelState.IsValid) 
    { 
     return RedirectToAction("Index", "Home"); 
    } 
    return View(); 
} 

Ваш EnquiryForm Посмотреть

@using (Html.BeginForm("EnquiryForm", "Home", FormMethod.Post)) 
{  
    @Html.Partial("_EnquiryFormPartialView", Model) 

    <input type="submit" id="bt_submit"/> 
} 

Ваш домашний вид

<div> 
    @Html.LabelFor(n => n.Name) 
    @Html.TextBoxFor(n => n.Name) 
    @Html.ValidationMessageFor(n => n.Name) 
</div> 

<div> 
    @Html.LabelFor(n => n.Email) 
    @Html.TextBoxFor(n => n.Email) 
    @Html.ValidationMessageFor(n => n.Email) 
</div> 
Смежные вопросы