Проверка asp.net MVC2 действует по-разному на двух серверах - PullRequest
1 голос
/ 29 ноября 2010

У меня проблема, и я не знаю, какой результат правильный.

Я получаю два разных сценария в зависимости от того, откуда я запускаю приложение - локальный (режим отладки) / разработка (вкл.отдельный сервер).

У меня есть одна модель представления ConsultationViewModel на двух страницах .aspx (я хочу запомнить данные между двумя формами).

Форма 1 Два объекта (строки) - один [Обязательный]

Форма 2 Два объекта (строки) - Два [Обязательный]

Вот где я получаю разные сценарии:

• Локальный хост: Форма 1 - Форма 2 = НЕТ ошибок проверки • Разработка: Форма 1 - Форма 2 = Ошибка проверки

Форма 1

public string Rate { get; set; }

[Required(ErrorMessage = "You must enter your comments")]
public string Comments { get; set; }

Форма 2

[Required(ErrorMessage = "Please select a option")]
public string WhatAreYou { get; set; }

[Required(ErrorMessage = "Please select a option")]
public string EthnicOrigin { get; set; }

Почему на сервере разработки требуется проверка WhatAreYou / EthinicOrigin, если они вообще никогда не используются в Форме 2?

    [HttpGet]
    public ActionResult Index()
    {
        ConsultationHolderViewModel consultationViewModel = new ConsultationViewModel();
        return View(consultationViewModel);
    }

    [HttpPost]
    public ActionResult Index(ConsultationViewModel consultationViewModel)
    {
        if (!ModelState.IsValid)
        {
            return View(consultationViewModel);
        }

        return View("Equalities", consultationViewModel);
    }

    [HttpPost]
    public ActionResult Equalities(ConsultationViewModel consultationViewModel)
    {
        if (!ModelState.IsValid)
        {
            return View(consultationViewModel);
        }

        switch (consultationViewModel.Button)
        {
            case "Back":
                return View("Index", consultationViewModel);
            case "Continue":
                return View("Receipt", consultationViewModel);
        }

        return View("Equalities", consultationViewModel);
    }

Заранее благодарен за любую помощь,

Clare

1 Ответ

0 голосов
/ 29 ноября 2010

Спорим, это как-то связано с привязкой модели mvc2 по умолчанию.Он проверяет все свойства модели.

Так что, если у вашей модели они есть, даже если вы их не публикуете или даже не нуждаетесь, вы все равно получите ошибки проверки.

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