@inject ILocalStorageService LocalStorageService
@inject IJSRuntime Js
관리자 로그인
@code {
private string rememberedUsername = "";
private bool isReady;
private const string RememberedUsernameKey = "admin-remembered-username";
protected override async Task OnInitializedAsync()
{
try
{
rememberedUsername = await LocalStorageService.GetItemAsStringAsync(RememberedUsernameKey) ?? "";
}
catch
{
rememberedUsername = "";
}
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
try
{
await Js.InvokeVoidAsync("taxbaikAdminSession.syncRouteClass");
await Js.InvokeVoidAsync("taxbaikAdminSession.bindLoginForm");
}
catch
{
// Login UI must remain visible even if JS binding fails.
}
finally
{
// Blazor owns this render from here on, so drive "disabled" from
// C# state rather than a raw DOM mutation - otherwise this hydration
// pass re-asserts the prerendered markup's static "disabled" and
// silently undoes whatever the early inline