ASP.NET MVC3 - Контроллер в каждой вкладке работает - PullRequest
3 голосов
/ 05 марта 2012

Вот в чем дело.Я использую ASP.NET MVC3 для создания приложения и Jquery.ui.Tabs , чтобы показать некоторые действия.По сути, я хочу показать на одной вкладке контроллер требований, нажать «Отправить» и перейти на другую вкладку с контроллером DocQuality.Проблема возникает, когда я пытаюсь представить информацию из требования контроллера, оба кода проверки выполняются, очевидно, это не то, что я хочу.Любая идея или лучший способ реализовать это?

Спасибо заранее.

В моем макете у меня есть следующее:

<div id="tabs">
     <ul>
         <li><a href="#tabs-1">Requirement </a></li>
         <li><a href="#tabs-2">DocQuality</a></li>
     </ul>
     <div id="tabs-1">
          { @Html.RenderAction("Create", "Requirement"); }
     </div>
     <div id="tabs-2">
          { @Html.RenderAction("Create", "DocQuality"); }
     </div>
</div>
@RenderBody() 

Просмотр DocQuality :

@model MvcAppRequirement.Models.DocQuality
@* ... *@
@using (Html.BeginForm()) {
  @Html.ValidationSummary(true)
     @* Some parameters *@
}

Контроллер DocQuality :

[HttpPost]
public PartialViewResult Create(DocQuality docpaseqal)
{
    if (ModelState.IsValid)
    {
        db.DocsPaseQal.Add(docpaseqal);
        db.SaveChanges();  
    }
    @* ... Some fields ... *@
    return PartialView(docpaseqal);
}

Просмотр Требование :

@model MvcAppRequirement.Models.Requirement
@* ... *@
@using (Html.BeginForm()) {
  @Html.ValidationSummary(true)
     @* Some parameters *@
}

Контроллер Требование :

[HttpPost]
public PartialViewResult Create(Requirement req)
{
    if (ModelState.IsValid)
    {
        db.Requirement.Add(req);
        db.SaveChanges();  
    }
    @* ... Some fields ... *@
    return PartialView(req);
}

Ответы [ 2 ]

1 голос
/ 05 марта 2012

Нельзя добиться частичной проверки формы обычными методами с MVC.Решение, которое вам нужно, - отключить обработчик проверки по умолчанию и вручную вызвать .validate () для интересующих вас вводов формы, а также когда вы хотите их проверить.

0 голосов
/ 05 марта 2012

расширение до того, что сказал @ me2323.

 @model MvcAppRequirement.Models.Requirement
@* ... *@
@using (Html.BeginForm("","",new{id = "DocQualityForm"})) {
  @Html.ValidationSummary(true)
     @* Some parameters *@
}

jQuery

$("buttom").submit(function(){
$("#DocQualityForm").validate();
});

то же самое для других представлений вкладок.

перезаписать проверку по умолчанию и написать свою пользовательскую проверкудля каждой вкладки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...