Я новичок в Blazor, так что это может показаться элементарной проблемой, которую нужно решить. У меня есть простой компонент Blazor, который представляет собой просто текстовое поле и кнопку, которая выглядит так:
<input type="text" name="" class="form-control input-user"
tabindex="1" @ref="UsernameControl" @bind-value="UserName" placeholder="Username...">
<button type="button" name="button" class="btn login-btn"
tabindex="3" @onclick="OnLoginButtonClick">Login</button>
@code {
[Parameter] public EventCallback OnLoginButtonClick { get; set; }
private ElementReference UsernameControl { get; set; }
public string UserName { get; set; }
}
У меня есть родительский элемент управления, который использует этот элемент управления, например:
<UserBox OnLoginButtonClick="@LoginButtonClicked" />
@code {
private void LoginButtonClicked()
{
Console.WriteLine("Clicked! ");
Console.WriteLine(UserName); // This line doesn't work, obviously
}
}
Я хочу получить текст, введенный в текстовое поле. Очевидно, что строка, которую я опубликовал выше, не будет работать. Как мне получить значение из текстового поля из родительского элемента управления? Я использую @bind-value
, который должен заполнить его в свойстве UserName
, поэтому я уверен, что данные хранятся там, но я не уверен, как получить их от родителя.