Вы можете использовать пользовательский focusNode
. Это предотвращает появление клавиатуры только при первом касании:
TextField(focusNode: FirstDisabledFocusNode(),)
class FirstDisabledFocusNode extends FocusNode {
@override
bool consumeKeyboardToken() {
return false;
}
}
. Это предотвращает всегда:
TextField(focusNode: AlwaysDisabledFocusNode())
class AlwaysDisabledFocusNode extends FocusNode {
@override
bool get hasFocus => false;
}
. Проверьте свой код позади имени файла и свойства Inherits на @Page директиве, удостоверьтесь они оба соответствие.
исключите любые другие страницы, на которые есть ссылки тот же файл кода программной части, например, старая страница, которую вы скопировали и вставили.
] Я знаю, что это старый вопрос, но у меня была похожая проблема, и я хотел опубликовать свое решение на тот случай, если оно может принести пользу кому-то другому. Я столкнулся с проблемой, когда учился пользоваться: [
]. [] Я пытался создать страницу с поддержкой AJAX (посмотрите учебник по использованию объекта ScriptManager, если вы не знакомы с этим). Я пытался получить доступ к элементам HTML на странице через код на C#, и получил ошибку, указав, что идентификатор значения HTML ID "не существует в текущем контексте"[
]. [] Чтобы решить это, я должен был сделать следующее: [
] [][]1. Запустите на сервере[][
]. [] Для доступа к HTML-элементу в качестве переменной в C#-коде в тег HTML-элемента в aspx-файле должно быть помещено следующее значение: [
] [runat="server"
]
[]Некоторые объекты в IDE Visual Studio не включают это значение автоматически при добавлении на страницу.[
]. [][]2. Регенерируйте автоматически созданный C# файл:[][
]. [] Теперь элемент должен быть доступен в C# файле кода.[
]