2010-11-29 2 views
1

У меня проблема, и я не знаю, какой результат будет правильным.asp.net mvc2 проверка действует на двух серверах

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

У меня есть одна модель вида 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

ответ

0

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

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

+0

Я вручную заполняю необходимые поля перед ModelState.IsValid, он все еще отображает сообщения об ошибках: consultViewModel.WhatAreYou = "A";/consultViewModel.EthnicOrigin = "A"; Зачем это делать? Поскольку обе строки содержат данные – ClareBear 2010-11-29 11:55:47

Смежные вопросы