Работая над сайтом в ASP.NET, у меня есть текстовое поле, и если я нахожусь в середине текстового поля, когда текстовое поле фокусируется, курсор находится посередине, если я нажму на 1/4 слева, на фокусе курсор идет на 1/4 слева.
У меня есть только эта проблема с этим конкретным текстовым полем, все остальные функции моей страницы, как и ожидалось (т.е. Независимо от того, где вы нажимаете, курсор по умолчанию относится к началу текстового поля). Странно, что все текстовые поля определены одинаково. Единственное, что выделяется в этом, это то, что это последнее текстовое поле на странице.
Есть идеи?
На странице нет javascript, хотя, если это единственный выход, я могу использовать его.
Из-за отсутствия информации здесь я собираюсь получить обоснованное предположение. Я собираюсь предположить, что вы используете asp.net Webforms.
Управление текстовыми полями Webforms
независимо от того, где вы нажимаете, курсор по умолчанию соответствует началу текстового поля
Это связано с тем, что, когда текстовое Textbox
от текста (включая пробелы), начало находится в индексе 0.
Я думаю, что ваша проблема заключается в том, что в этот последний элемент управления Textbox введены белые пробелы; перейдите в Свойства для Textbox
управления Textbox
и в свойстве Text
, щелкните его, а затем нажмите CTRL-A
чтобы выбрать все символы (включая пробелы), и нажмите DEL
чтобы удалить их все, если они есть.
string.Trim()
после получения данных, и это решило проблему.
nchar
? Если так, то это может быть проблемой. Если вы не используете юникод, замените nchar
на varchar
и снимите trim
с вашего кода.