質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

2156閲覧

asp.net テキストの全選択について

joyboy

総合スコア35

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2019/04/05 03:33

以前ご質問させていただきました内容と重複する部分があり、誠に恐縮ではございますがお願いいたします。
現在asp.netにて掲示板の開発を行っているのですが、テキスト全選択の実装法が分からず困っております。

全選択処理が実行されるタイミングは、スレッドの検索を行い「検索条件にヒットしなかった」場合で
再検索状態として、テキストボックスの中のテキストを全選択にするといった内容です。

'検索データを取得し、グリッドにバインド Dim strcheck As String strcheck = txtSearch.Text.Trim() Dim dt As New DataTable dt = Me.selectThreadList(strcheck) Me.gvDataBind(dt) '検索ヒット無し If dt.Rows.Count() = 0 Then        'テキスト全選択処理実行 SetFocus(txtSearch) txtSearch.Attributes("onFocus") = "this.select()" Else 'コントロール設定 btnSearch.Enabled = True End If

以上のコードでテキストの全選択自体出来ることは出来たのですが、
一度フォーカスを外し、再度フォーカスインした際に、またテキストが全選択になるのはおかしいとの事で
どのように改善したら良いのか分からず困っております。
クライアント側にフォーカスが当たると全選択になる処理が残り続けているのが原因だと思うのですが、
フォームアプリケーションじゃないから、txtSearch.SelectAll()という使い方も出来ないですし…

ご教授のほどよろしくお願いいたします。

【開発環境】
Window 10
Visual Studio2017
ASP.NET ver 4.7.3282.0
DB SQLserver

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

問題のテキストボックス (input type="text")の onfocus イベントに this.select() をアタッチしているのだから当然の結果だと思いますけど。

前のスレッドで教えたようにしないのは何故ですか?

投稿2019/04/05 04:55

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

joyboy

2019/04/05 05:14

サーバー側で実装で簡単に実装できるはず。との指示がありましたので、サーバー側での実装を継続していました。 サーバー側では出来ないのでは、と相談したところJavaScriptで実装するようにと許可が下りたので、SurferOnWwwさんに教えていただいた実装法でやっていこうと思います。 以前ご質問させていただいた際に、 (6) はクライアント側でのブラウザ上での話ですので、JavaScript で行うことを考える。 ASP.NET の TextBox コントロールは html に変換されてブラウザに送信されると input type="text" になります。上記 (2) でユーザーが入力してサーバーに送信された検索キーワードはポストバックして再描画されたときに value 属性に設定されます。 それを全選択状態にするのも JavaScript を使うことを考えてください。select メソッドで可能だと思います。 ここまでは理解できたのですが、その先の「Page.ClientScript プロパティでスクリプトの管理と登録、およびページへの追加に使用する ClientScriptManager オブジェクトを取得し、RegisterStartupScript メソッドを使って動的に Page オブジェクトに起動スクリプトを登録するのがいい」という部分が、どうにも理解できない状況です。 知識不足で申し訳ありません。
退会済みユーザー

退会済みユーザー

2019/04/05 05:36

> サーバー側で実装で簡単に実装できるはず。との指示がありましたので、サーバー側での実装を継続していました。 そういう指示をする人がいるなら、ここでそういう事情を知らない第三者に聞かないで、その人に聞くべき話ではないのですか? ここの回答者・閲覧者に対して失礼だと思うのですけど。
joyboy

2019/04/05 05:40

おっしゃる通りです。大変失礼致しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問