У меня есть список выбора в моем представлении, и я пытаюсь вызвать его в моем контроллере. У меня есть 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.
Может кто-нибудь помочь мне с этим?