Проверка данных на основе выбора выпадающего списка в ASP. net MVC - PullRequest
0 голосов
/ 22 апреля 2020

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

1 - Если пользователь выбирает SSN, то ввод TaxID должен быть равен SSN в моей таблице.

2 - Если пользователь выбирает FEIN, то В моей таблице значение TaxID должно быть равно FEIN.

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

У меня есть код контроллера, где система может проверить только одно условие.

Просмотр:

@using (Html.BeginForm("CorporationRegistrationPg1", "Corporation", FormMethod.Post))
{
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)
<body>
@Html.DropDownListFor(x => x.TAxIDType, Model.TAxIDType)
            @Html.TextBoxFor(x => x.TaxID, new { @class = "feintextbox", maxlength = 9, @placeholder = "xxxxxxxxx" })
            @Html.ValidationMessageFor(x => x.TaxID)

@Html.TextBoxFor(x => x.EmailID, new { @class = "emailid" })
            @Html.ValidationMessageFor(x => x.EmailID)
</body>

Контроллер:


public ActionResult CorporationRegistrationPg1(Testing CorporationRegistration, string EmailID, int TaxID, string TAxIDType)
        {
            if (ModelState.IsValid)
            {
                using (SUPRTestingDBEntities2 db = new SUPRTestingDBEntities2())
                {
                    if (TAxIDType == "SSN")
                    {
                        var obj = db.SUPRTesting.Where(a => a.EmailID.Equals(CorporationRegistration.EmailID) && a.TaxID.Equals(CorporationRegistration.SSN)).FirstOrDefault();

                        if (obj != null)
                        {
                            if (obj.Active == 0 && obj.Submit == 0)
                            {
                                Session["LoginID"] = obj.LoginID.ToString();
                                Session["EmailAddress"] = obj.EmailID.ToString();
                                return RedirectToAction("CorporationRegistrationPg2");
                            }
                            else
                            {
                                return View();
                            }
                        }
                        else if (obj == null)
                        {
                            return View();
                        }
                    }
                    else if (TAxIDType=="FEIN")
                    {
                        var obj = db.SUPRTesting.Where(a => a.EmailID.Equals(CorporationRegistration.EmailID) && a.TaxID.Equals(CorporationRegistration.FEIN)).FirstOrDefault();

                        if (obj != null)
                        {
                            if (obj.Active == 0 && obj.Submit == 0)
                            {
                                Session["LoginID"] = obj.LoginID.ToString();
                                Session["EmailAddress"] = obj.EmailID.ToString();
                                return RedirectToAction("CorporationRegistrationPg2");
                            }
                            else
                            {
                                return View();
                            }
                        }
                        else if (obj == null)
                        {
                            return View();
                        }
                    }}
            }return View();
        }

В контроллере я пытаюсь вызвать TaxIDType, и я в состоянии передать значение. Но новые проблемы заключаются в том, что я не могу проверить, равен ли TaxID SSN / FEIN, поскольку система всегда возвращает SSN / FEIN как 0, даже если у меня есть данные и система возвращается на ту же страницу.

Вторая проблема заключается в том, что когда система возвращается на ту же страницу, раскрывающийся список выдает ошибку:

System.NullReferenceException: «Ссылка на объект не установлена ​​на экземпляр объекта». System.Web. Mvc .WebViewPage.Model.get вернул null.

Может кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 23 апреля 2020

Как насчет удаления текстового поля для TaxID и разрешения в зависимости от параметра, выбранного в раскрывающемся списке:

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