Почему значение двусторонней привязки не работает? Гибридное приложение Maui BlazorC#

Место общения программистов C#
Ответить
Anonymous
 Почему значение двусторонней привязки не работает? Гибридное приложение Maui Blazor

Сообщение Anonymous »

Мне до сих пор сложно привязать простой ярлык. Проблема кажется простой, но я потратил дни зря, поэтому пришло время обратиться за помощью. Возможно, кто-то знает ответ.
В приведенном ниже коде кнопка срабатывает каждый раз, но нажатие Enter не обновляет страницу, даже если переменная, привязанная к метке, изменилась (я проверил путем печати на консоли с помощью Serilog)
Короче: кнопка и клавиша ввода правильно вызывают одну и ту же функцию, которая каждый раз выполняет задание. К сожалению, страница воспринимает изменение только с помощью кнопки путем изменения статуса метки.
Теперь, если я дважды нажму Enter, то, похоже, это сработает, но это не отображается в background есть исключение, потому что это уже повторяющееся значение. Нажмите Enter в третий раз, и вы получите правильный статус.
Имейте в виду, что я новичок в C#, особенно в гибридных приложениях Maui Blazor.
Спасибо!
html:


загрузить в базу данных Метка состояния: @statusLabelBindString

В моем коде:

Код: Выделить всё

private string statusLabelBindString = "";
private string inputFieldString = "";

private async void KeyPressHandler(string inputField, KeyboardEventArgs e) {
if (e.Key == "Enter")
{
if (inputField == "inputFieldForUploading")
await PushToDatabaseFunction();

}
}

private async Task PushToDatabaseFunction() {

//code here takes the inputFieldString and adds it to a database
//I've triple checked many many times and the code to the db works correctly

db.insert(inputFieldString);

//the following line also works correctly, as the statusLabelBindString  variable >
// takes on a new value.

if(db.status=="ok")
statusLabelBindString = $" {inputFieldString} was added to db";
else
statusLabelBindString = "Error - Duplicate value";

//Even though statusLabelBindString has a new value (I've checked), the label does not
//update if you press Enter, but from the button it works fine.

}
В чем может быть дело?
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/783 ... hybrid-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»