У меня есть Web Forms текстового поля в GridView, и я хочу higlight текста на кнопках. textbox.select(start,end)
не работает. Вот код:Выделите текст в .NET, .select() не доступен
Dim row As GridViewRow = TryCast(DirectCast(sender, ImageButton).Parent.Parent, GridViewRow)
Dim txtdays As TextBox = row.Cells(2).FindControl("txtDays")
Dim lbldays As Label = row.Cells(2).FindControl("lblDays")
Dim btndel As ImageButton = row.Cells(2).FindControl("btndel")
Dim imgbttnadd As ImageButton = row.Cells(2).FindControl("imgbttnadd")
//Show textbox and set its text.
txtdays.Visible = True
txtdays.Text = lbldays.Text
txtdays.Focus()
//Here is where I want to select the text.
txtdays.Select() //???????? Doesn't work.
Как вы это делаете?
.Select
работает с текстовыми полями Windows Forms, но не с текстовыми полями Web Forms.
Спасибо за дополнительную помощь (+1). Но я пробовал функцию, подобную той, которую вы просили, но я получаю ошибку javascript, говоря, что txtdays не объявлен. Мой txtdays находится в поле шаблона, но он должен найти это правильно? Должен ли я опубликовать некоторую разметку? – Eric
Хммм ... Вместо разметки, я думаю, нам нужно гораздо больше информации. о том, что происходит. Кажется, что вы щелкаете ImageButton, а страница возвращается на сервер, а затем предоставленный код запускается. Итак, нужна ли эта страница для просмотра в браузере, но только с выбранным текстовым полем? Если это единственная функциональность, вам не нужно отправлять обратно на сервер вообще. – Cerebrus
JS не может найти текстовое поле, потому что визуализированный идентификатор дочерних элементов управления GridView совсем другой. Вы должны взглянуть на источник HTML-страницы, который будет отображаться, и это будет выглядеть примерно так: «MyGridView_ctl01_txtDays». Если вы передадите этот идентификатор в Javascript, он сможет сфокусироваться и выбрать ваше текстовое поле. – Cerebrus