I have developed two new views, block-registration and block-login using the most of the orignal source code, also generating a new shared column structure.
<div class="master-wrapper-side-2">
@if (IsSectionDefined("left"))
{
@RenderSection("left")
}
else
{
@Html.Action("WidgetsByZone", "Widget", new { widgetZone = Nop.Core.Domain.Cms.WidgetZone.BeforeLeftSideColumn })
<div class="clear">
</div>
@Html.Action("LoginNavigation1", "Customer")
<div class="clear">
</div>
@Html.Action("RegisterNavigation", "Customer")
<div class="clear">
</div>
@Html.Action("WidgetsByZone", "Widget", new { widgetZone = Nop.Core.Domain.Cms.WidgetZone.AfterLeftSideColumn })
}
</div>
<div class="master-wrapper-center-2">
<div class="master-wrapper-cph-2">
@Html.Action("WidgetsByZone", "Widget", new { widgetZone = Nop.Core.Domain.Cms.WidgetZone.BeforeMainColumn })
@RenderBody()
@Html.Action("WidgetsByZone", "Widget", new { widgetZone = Nop.Core.Domain.Cms.WidgetZone.AfterMainColumn })
</div>
</div>
The registration block works fine and redirects the user to the registration form. With a very basic return to view in the controller.
But I am having a problem with the controller for the Login Navigation block.
The inner exception states -
A public action method was not found on controller Login navigation
I have taken the controller method from the orignal source code removing the CAPTCHA setting as follows.
[HttpPost]
public ActionResult LoginNavigation1(LoginModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (_customerSettings.UsernamesEnabled && model.Username != null)
{
model.Username = model.Username.Trim();
}
if (_customerRegistrationService.ValidateCustomer(_customerSettings.UsernamesEnabled ? model.Username : model.Email, model.Password))
{
var customer = _customerSettings.UsernamesEnabled ? _customerService.GetCustomerByUsername(model.Username) : _customerService.GetCustomerByEmail(model.Email);
//sign in new customer
_authenticationService.SignIn(customer, model.RememberMe);
if (!String.IsNullOrEmpty(returnUrl) && Url.IsLocalUrl(returnUrl))
return Redirect(returnUrl);
else
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", _localizationService.GetResource("Account.Login.WrongCredentials"));
}
}
model.UsernamesEnabled = _customerSettings.UsernamesEnabled;
model.DisplayCaptcha = _captchaSettings.Enabled && _captchaSettings.ShowOnLoginPage;
return View(model);
}
But I still get the error what I am missing. All help would highly appriecated.
Richard...