[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(HomeOfficeViewModel viewModel)
{
return RedirectToAction("SearchResults", "HomeOffice", viewModel);
}
public ActionResult SearchResults(HomeOfficeViewModel viewModel)
{
if (viewModel.FirstName != null && viewModel.LastName == null && viewModel.FullSsn == null)
{
List<Domain.Model.PolicyHolder> ph = _policyHolderRepository.Where(x => x.FirstName == viewModel.FirstName).ToList();
if (ph.Count != 0)
{
var searchresults = from p in ph
select new SearchResultsViewModel
{
FullSsn = p.Ssn,
FullName = p.FirstName + " " + p.LastName,
UserId = p.UserId
};
TempData["SearchedItem"] = "<<< First Name >>> is '" + viewModel.FirstName + "'";
return View("SearchResults", new SearchResultsViewModel() {SearchResults = searchresults.ToList()});
}
else
{
ModelState.Clear();
ModelState.AddModelError("Error", "First Name searched does not exist in our records");
return View("Index");
}
}
else
{
return View();
}
}
значения в viewModel отображаются в URL, как это
http://sample.url.com/HomeOffice/SearchResults?FirstName=testing
Я не должен показывать их в URL, потому что я буду отправлять SSN. Есть ли способ их скрыть или какой-нибудь лучший способ сделать это.
Спасибо.