Я создаю страницу входа в систему только с одним полем ввода для пароля. Я сохраняю пароль для проверки в поле в Sitecore. Я установил на странице Sign In Rendering с источником данных, который мне нужен, и не знал, почему он не работает должным образом. Позже я понял, что пытаюсь получить источник данных в методе Post, а не в методе Get, потому что в методе Post я могу выполнить проверку. Любая идея о том, как я могу получить источник данных в методе Get и передать его в метод Post.
Вот мои два метода:
[HttpGet]
[CaptureQueryParameters]
[CaptureErrorMessage]
public ActionResult MemberPageSignIn()
{
var model = new MemberSignInData();
return View("~/Views/Feature/Account/MemberPageSignIn.cshtml",model);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult MemberPageSignIn(MemberSignInData model, bool? isAjaxCall = null, string returnUrl = null, string loginFailedReturnUrl = null)
{
if (!ModelState.IsValid)
{
return this.AjaxError(isAjaxCall, "~/Views/Feature/Account/MemberPageSignIn.cshtml", model);
}
//MemberPage dataSource = GetDataSourceItem<MemberPage>(false, true);
//var password = _sitecoreContext.GetItem<PasswordComponent>(dataSource.Password);
if (model.Password.Equals("72"))
{
return View("~/Views/Feature/Account/OneClubSignIn.cshtml");
}
else
return View("~/Views/Feature/Account/OneClubSignIn.cshtml");
}
(это жестко запрограммировано, потому что я просто хотел посмотреть, попаду ли я в это "если")