Telstra Ответов: 1

Значение не получает post к контроллеру в MVC


Привет,

У меня есть одна частичная точка зрения. Я визуализирую это представление при вызове ajax события checkbox click. Пользователь введет значения в текстовое поле частичного представления и нажмет на кнопку пройдено. Проблема в том, что иногда я могу получить значение текстового поля на контроллере, иногда нет. Я действительно не в состоянии понять, что происходит не так. Я использую простой html.Метод BeginForm на странице просмотра для размещения всех данных из представления в контроллер.

Это действие контроллера:
[HttpPost] 
public ActionResult SetTransaction(UserBOM) { 
  if (
       (UserBOM.CompletedResponse != null && ReasonName == "Contacted")
       || UserBOM.IdEnable == true
  ) {
    TempData["IdEnable"] = UserBOM.IdEnable;
    TempData["ApplicantId"] = UserBOM.ApplicantId;    // intermittent not getting value.
    TempData["ApplicantNumber"] = UserBOM.ApplicantNumber;
    TempData.Keep("IdEnable"); 
    TempData.Keep("ApplicantId");
    TempData.Keep("ApplicantNumber"); 
  }
}

А вид из окна
@using (Html.BeginForm("SetTransaction", "BranchUser", FormMethod.Post)) {
  //  partial view rendered through ajax call
}

Проблема, которую я вижу, заключается в следующем "В методе SetTransaction(UserBOM), userBOM получает null. Иногда он работает так, как ожидалось, но не всегда. В чем может быть причина? Спасибо."

Что я уже пробовал:

Я не в состоянии воспроизвести его каждый раз, как его прерывистый вопрос и действительно трудно исправить эту проблему.

F-ES Sitecore

Ну, нет никакой проблемы с тем, что фреймворк MVC периодически отправляет данные, так что проблема где-то в вашей реализации, вашей среде или данных, которые вы отправляете. Поскольку вы даже не показали код, это трудно для кого-либо посоветовать.

Telstra

Метод контроллера для чтения данных после публикации.

[HttpPost]
public ActionResult SetTransaction(UserBOM)
{

if ((UserBOM.CompletedResponse != null && ReasonName == "Contacted") || UserBOM.Identifable == true)
{

TempData["Identifable"] = UserBOM.Идентификация;
TempData["ApplicantId"] = UserBOM.ApplicantId;//эти значения я получаю не каждый раз.
TempData["ApplicantNumber"] = UserBOM.ApplicantNumber;
Данных tempdata.Сохранить("IdEnable");
Данных tempdata.Сохранить("ApplicantId");
Данных tempdata.Сохранить("ApplicantNumber");
}

}

Это код файла представления для отправки данных на контроллер
@using (Html.BeginForm("SetTransaction", "BranchUser", FormMethod.Почта))
{

//частичное представление, отображаемое с помощью вызова ajax
}

Telstra

В методе SetTransaction(UserBOM), userBOM получает null. Иногда он работает так, как ожидалось, но не всегда. В чем может быть причина? Спасибо.

1 Ответов

Рейтинг:
2

Vincent Maverick Durano

Цитата:
действительно найти трудно исправить эту проблему.


Нам гораздо труднее помочь вам, если вы не указали, как вы отправляете данные. Как вы заполняете свой UserBom возражать? Вы должны начать смотреть на этот код сначала, прежде чем перейти к вашему методу действия MVC, чтобы ссылаться на него. UserBom объект.

На боковой ноте всегда проверяйте наличие null прежде чем ссылаться на свойство из вашего объекта, чтобы избежать неожиданных ошибок.