我正在创建一个只有一个密码输入字段的登录页面。我将用于验证的密码保存在Sitecore的一个字段中。我在页面上使用数据源设置了“登录渲染”,但我不知道为什么它无法正常工作。后来,我意识到我正在尝试以Post方法而不是Get方法获取数据源,因为在Post Method中我可以进行验证。关于如何在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");
}
(它是硬编码的,因为我只是想看看我是否进入了“ if”)