@namespace Oqtane.Themes.Controls @using System.Net @inherits ThemeControlBase @inject IStringLocalizer Localizer @inject ISettingService SettingService @inject IStringLocalizer SharedLocalizer @SharedLocalizer["Register"] @code { private string _returnurl; private string _registerurl; [Parameter] public string CssClass { get; set; } = "btn btn-secondary"; protected override void OnParametersSet() { if (!PageState.QueryString.ContainsKey("returnurl")) { // remember current url _returnurl = WebUtility.UrlEncode(PageState.Route.PathAndQuery); } else { // use existing value _returnurl = PageState.QueryString["returnurl"]; } if (!string.IsNullOrEmpty(SettingService.GetSetting(PageState.Site.Settings, "LoginOptions:RegisterUrl", ""))) { _registerurl = SettingService.GetSetting(PageState.Site.Settings, "LoginOptions:RegisterUrl", ""); _registerurl += (!_registerurl.Contains("?") ? "?" : "&") + "returnurl=" + (_registerurl.Contains("://") ? WebUtility.UrlEncode(PageState.Route.RootUrl) + _returnurl : _returnurl); } else { _registerurl = NavigateUrl("register", "returnurl=" + _returnurl); } Console.WriteLine($"Register URL: {_registerurl}"); } }