C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■15147  Re[2]: ASP.NET PCのIDを取得
□投稿者/ osada -(2008/03/05(Wed) 12:18:38)
    No15142 (魔界の仮面弁士 さん) に返信
    > ■No15141 (osada さん) に返信
    >>今回は,ASP.NET2.0にてサーバー側【VB側】で クライアントPCのIDを取得したく思いましてご質問いたしました。
    >
    > ここでいう ID というのが、何を意味しているのかわかりませんでした。
    > もう少し噛み砕いて説明してもらえますか?
    >
    > # SSLクライアント認証を利用したい…とか?

    魔界の仮面弁士 さん

    ご回答いただきましてありがとうございます。

    ここでいうIDとはPCの端末IDのことをいっています。
    XPの場合、コントロールパネル→システムプロパティ→フルコンピュータ名
    のことを言っています。

    やりたいことと致しましては、あるテーブルに【作成PCID】という項目があるのですが、
    上記にて取得したPCの端末IDをDBに追加または更新したく思っております。

    可能かどうかさえわかっていないのですが、宜しくお願いいたします。
記事No.15141 のレス /過去ログ32より / 関連記事表示
削除チェック/

■48628  Re[5]: VB.netで全角を含むURLのFTP接続について
□投稿者/ れい -(2010/04/10(Sat) 12:46:27)
    No48627 (???????? さん) に返信

    この投稿は私です。
    Opera最新版だといつも名前が化けます。

    めんどくさい。
記事No.48516 のレス /過去ログ82より / 関連記事表示
削除チェック/

■87118  動的コントロールのカーソルセット(その2)
□投稿者/ passop -(2018/04/13(Fri) 11:30:03)

    分類:[ASP.NET (VB)] 

    2018/04/13(Fri) 12:49:09 編集(投稿者)

    以前、こちらに以下の質問をさせて頂きました件で
    カーソル動作の改善をしたいと考えております。

    http://bbs.wankuma.com/index.cgi?mode=al2&namber=86861

    こちらの解決策にありますように
    PageRequestManager のイベントの処理を追加することにより、
    ポストバックが発生した動的コントロールにフォーカスをセットして、
    カーソルが戻るようになりましたが、もう少しカーソルな動きを
    自然にしようと思っています。

    そこで、TABキーを入力することによって、
    次の動的コントールにカーソルを移動しようと変更しましたが、
    TABキー以外を入力でも次のコントールにカーソルが移動してしまいます。

    どのようにすればTABキーを入力したときのみ
    次のコントールにカーソルが移動するようになるのでしょうか?

    申し訳ありませんが、教えてください。

    (VB.NET側コード)
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    'ポストバックの場合
    'ページ内のTableコントロールからデータセットを作成
    If IsPostBack Then
    TextBoxButtonMaking(Table1, 1)
    End If
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Me.TextBoxButtonMaking(Table1, 1)

    End Sub

    '//////// 動的コントロール作成ルーチン /////
    Private Sub TextBoxButtonMaking(ByVal tTable As Table, ByVal No As Integer)
    '行数
    Dim rowCnt As Integer = 3
    '列数
    Dim colCnt As Integer = 3

    If tTable.Rows.Count > 0 Then
    Exit Sub
    End If

    For j = 1 To rowCnt
    Dim tRow As New TableRow()
    For i As Integer = 1 To colCnt
    AddCellCreate(tRow, j, i, No)
    Next i
    'テーブルに新しい行を追加
    tTable.Rows.Add(tRow)

    Next j

    End Sub

    Private Sub AddCellCreate(ByVal tRow As TableRow, ByVal rowCtr As Integer, ByVal cellCtr As Integer, ByVal TableNo As Integer)

    Dim prodID As String = ""
    'IDを作成

    prodID = TableNo.ToString & "_" & rowCtr & "_" & cellCtr

    Dim tCell As New TableCell()
    tCell.HorizontalAlign = HorizontalAlign.Center
    tCell.Wrap = False
    tCell.ViewStateMode = UI.ViewStateMode.Enabled
    'TextBoxコを作成
    Dim ctrl As New TextBox
    ctrl.ID = "txt" & prodID
    ctrl.Text = ctrl.ID
    ctrl.AutoPostBack = True
    ctrl.EnableViewState = True

    'セルに追加
    tCell.Controls.Add(ctrl)
    '行に新しいセルを追加
    tRow.Cells.Add(tCell)

    End Sub


    (JavaScript側コード)
    <script type="text/javascript">
    var manager;
    var postBackElementId;

    function pageLoad(sender, args) {
    if (args.get_isPartialLoad() === false) {
    manager = Sys.WebForms.PageRequestManager.getInstance();
    manager.add_initializeRequest(OnInitializeRequest);
    manager.add_pageLoaded(OnPageLoaded);
    }
    }

    function OnInitializeRequest(sender, args) {
    postBackElementId = args.get_postBackElement().id;
    }

    function OnPageLoaded(sender, args) {
    if (postBackElementId) {
    var es = document.getElementsByTagName('*');

    for (var i = 0; i < es.length; i++) {
    if (es[i].id == postBackElementId) {
    setNextFocus(es, i);
    }
    }

    }
    }

    function setNextFocus(es, cur_pos) {
    for (var i = cur_pos + 1; i < es.length; i++) {
    var elem = document.getElementById(es[i].id);
    if (elem != null) {
    elem.focus();
    break;
    }
    }
    }

    </script>
親記事 /過去ログ149より / 関連記事表示
削除チェック/

■87119  Re[1]: 動的コントロールのカーソルセット(その2)
□投稿者/ WebSurfer -(2018/04/13(Fri) 13:06:19)
    No87118 (passop さん) に返信

    > そこで、TABキーを入力することによって、
    > 次の動的コントールにカーソルを移動しようと変更しましたが、
    > TABキー以外を入力でも次のコントールにカーソルが移動してしまいます。

    何をしたいのか理解できません。

    Tab キーを押すとフォーカスが移動するのは、何もしなくても(クライアントスクリプトは一切何も書かなくても)、
    ブラウザの普通の動きとしてそうなるのですが。

    それとは異なる動きをさせたいということですか? であれば、それは具体的にどういう動きなのですか?
記事No.87118 のレス /過去ログ149より / 関連記事表示
削除チェック/

■87120  Re[2]: 動的コントロールのカーソルセット(その2)
□投稿者/ passop -(2018/04/13(Fri) 13:44:21)
    No87119 (WebSurfer さん) に返信

    > 何をしたいのか理解できません。
    >
    > Tab キーを押すとフォーカスが移動するのは、何もしなくても(クライアントスクリプトは一切何も書かなくても)、
    > ブラウザの普通の動きとしてそうなるのですが。
    >
    > それとは異なる動きをさせたいということですか? であれば、それは具体的にどういう動きなのですか?

    説明がヘタで申し訳ありません。

    現状のプログラムを実行した場合、以下のように3行3列の表形式にテキストボックスが表示されます。

    ┌─┬─┬─┐
    |@│A│B│
    ├─┼─┼─┤
    |C│D│E│
    ├─┼─┼─┤
    |F│G│H│
    └─┴─┴─┘

    まず、最初に@にカーソルがあるとします。

    TABキーを入力すると以下のようにカーソルが移動します。

    @→A→B→C→D→E→F→G→H

    ところが、@のテキストボックスの内容を変更した場合、現在、前回の動作では@にカーソルが戻ってしまいます。

    @のテキストボックスの内容を変更して、TABキーを入力した場合はAにカーソルを移動したいと考えています。

    今回のようにプログラムを変更することで、Aにカーソルを移動するようになりましたが、
    TABキーの入力以外、例えばマウスで他のコントールにカーソルを持っていこうとしてもAにカーソルが戻ってしまいます。

    @のテキストボックスの内容を変更して、TABキーを入力したときだけ、
    Aにカーソル移動するにはどのようにすれば良いかわからなかったので、質問しました。
記事No.87118 のレス /過去ログ149より / 関連記事表示
削除チェック/

■87122  Re[3]: 動的コントロールのカーソルセット(その2)
□投稿者/ WebSurfer -(2018/04/13(Fri) 14:23:44)
    No87120 (passop さん) に返信

    > @のテキストボックスの内容を変更して、TABキーを入力したときだけ、
    > Aにカーソル移動するにはどのようにすれば良いかわからなかったので、質問しました。

    TextBox コントロールの AutoPostBack を true に設定した場合、ユーザーがテキストボックスの入力を変更して
    フォーカスを外すとポストバックされるようになりますが、「TABキーを入力」でもフォーカスが外れるというこ
    とは知った上でそういう質問をしていますか?

    先のスレッドでは、その時のポストバックのトリガとなったテキストボックスに、非同期ポストバックの応答化
    が返って時にクライアントスクリプトでフォーカスを当てようという話だったはずです。

    なので、先に行ったことと今考えていることが矛盾しているような気がしますが?

    フォーカスが外れたのが Tab キーを押したためかそれ以外かを判定してフォーカスを当てる先を変えるということ
    になるかと思いますが、すみませんが、それをどう実装するかを考える気力がないです(少なくとも今は)。
記事No.87118 のレス /過去ログ149より / 関連記事表示
削除チェック/

■87132  Re[4]: 動的コントロールのカーソルセット(その2)
□投稿者/ passop -(2018/04/13(Fri) 18:29:52)
    No87122 (WebSurfer さん) に返信
    >「TABキーを入力」でもフォーカスが外れるというこ
    >とは知った上でそういう質問をしていますか?

    はい、存じております。

    テキストボックスの入力を変更してフォーカスを外したときにポストバックをしたいのは理由がありまして、
    テキストボックスの値が変更されたときに他のテキストボックスに計算値果等の値をセットしたいからです。


    >先のスレッドでは、その時のポストバックのトリガとなったテキストボックスに、非同期ポストバックの応答化
    >が返って時にクライアントスクリプトでフォーカスを当てようという話だったはずです。
    >
    >なので、先に行ったことと今考えていることが矛盾しているような気がしますが?

    先のスレッドではトリガの元となったテキストボックスにフォーカスを当てる程度でいいと考えていたのですが、
    出来れば、もう少しカーソルの動きを自然な動きにしたい思ったからです。
記事No.87118 のレス /過去ログ149より / 関連記事表示
削除チェック/

■87133  Re[5]: 動的コントロールのカーソルセット(その2)
□投稿者/ WebSurfer -(2018/04/13(Fri) 19:01:20)
    No87132 (passop さん) に返信

    > テキストボックスの入力を変更してフォーカスを外したときにポストバックをしたいのは理由がありまして、
    > テキストボックスの値が変更されたときに他のテキストボックスに計算値果等の値をセットしたいからです。

    全部クライアントスクリプトで、サーバー側の情報が必要なら jQuery ajax などで問い合わせて処置すること
    を検討した方がよさそうな気がします。
記事No.87118 のレス /過去ログ149より / 関連記事表示
削除チェック/

■87136  Re[6]: 動的コントロールのカーソルセット(その2)
□投稿者/ passop -(2018/04/14(Sat) 09:35:15)
    2018/04/14(Sat) 15:27:19 編集(投稿者)

    No87133 (WebSurfer さん) に返信
    >
    > 全部クライアントスクリプトで、サーバー側の情報が必要なら jQuery ajax などで問い合わせて処置すること
    > を検討した方がよさそうな気がします。

    この件に関しては仕様も含めて、再検討します。

    また、何かありましたら、質問させて頂きますのでよろしくお願いします。
記事No.87118 のレス / END /過去ログ149より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -