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

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

ただいまの
回答率

90.86%

  • VB.NET

    828questions

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

  • ASP.NET

    456questions

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

ASP.NET (VB) でFunctionキーで画面操作したいです。

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 95

aichi-tomida

score 1

 前提・実現したいこと

ASP.NET (VB) でFunctionキーで画面操作したいです。

質問に回答していただけやすいように
各メソッドで実行する処理は最低限の処理だけコーディングしていますが
実装はVBで行うメソッドが大量にあるため、
JavaScript/JQueryの関数に機能を置き換えることは考えてないです。
なお、F1のヘルプ実行、F5の画面更新、F12のデバック画面起動。全て潰していいです。

Ajaxに関する調査もしたんですが、その情報だけでは実現ができるかどうかわからなかったです。

アドバイスをお願いします。

 発生している問題・エラーメッセージ

メソッドが実行されない。

 該当のソースコード

Default.aspx

<%@ Page Title="Home Page" Language="VB" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.vb" Inherits="WebApplicationTest._Default" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">

    <div class="jumbotron">
          <script type='text/javascript'>
             $(document).keydown(function(event){
                 // クリックされたキーコードを取得する
                 var keyCode = event.keyCode;
                 switch (keyCode) {
                         // 本当はF1~F12全て実装させたい
                         // F6
                     case 117:
                         // $('#btnF6').click;
                         $('#MainContent_btnF6').click;
                         return false;

                         // F7
                     case 118:
                         // $('#btnF7').click;
                         $('#MainContent_btnF7').click;
                         return false;

                 }
             });
         </script>
        <p>
            <asp:Label ID="lblMain" runat="server" Text="0"></asp:Label>
        </p>
        <asp:Button ID="btnF6" runat="server" Text="-1" />&nbsp;
        <asp:Button ID="btnF7" runat="server" Text="+1" />
    </div>


</asp:Content>


Default.aspx.vb

Public Class _Default
    Inherits Page
    ''' <summary>
    ''' 
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    Private Sub btnF6_Click(sender As Object, e As EventArgs) Handles btnF6.Click
        Dim wIntCnt As Integer
        Integer.TryParse(lblMain.Text, wIntCnt)
        wIntCnt -= 1
        lblMain.Text = wIntCnt.ToString
    End Sub
    ''' <summary>
    ''' 
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    Private Sub btnF7_Click(sender As Object, e As EventArgs) Handles btnF7.Click
        Dim wIntCnt As Integer
        Integer.TryParse(lblMain.Text, wIntCnt)
        wIntCnt += 1
        lblMain.Text = wIntCnt.ToString
    End Sub

End Class

 試したこと

実際にビルドしてブレイクポイントをつけてステップ実行してもメソッドが実行されない。

 補足情報(FW/ツールのバージョンなど)

ASP.NET (VB) Visual stadio Community 2015
Internet Explorer 11.0.60 及び Chrome バージョン: 66.0.3359.181

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • SurferOnWww

    2018/06/04 07:40 編集

    開発環境(OS, .NET, IIS のバージョン、core か否か、使ったテンプレートなど)を書いてください。何を作っているのか(web forms? mvc? その他?)も書いてください。

    キャンセル

  • SurferOnWww

    2018/06/04 07:43

    実行されないメソッドとはどれか、どこにブレークポイントを置いたのかを書いてください。そもそもポストバックは発生するのですか?

    キャンセル

回答 1

checkベストアンサー

0

何が聞きたいのかいまいちわからないんですが、普通に動きそうなもんですけど。
実行されないメソッドは、jQuery/JS側ですか?vb側ですか??
jQueryの構文が一部間違えてるせいで正しくボタン押下イベント発火できていない気がします。
$('#MainContent_btnF6').click;$('#MainContent_btnF6').click();
キーコードはこのへんを参考に適宜実装してください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/07 14:17

    動いてなかったのはvb側です。
    click→click()と変更したら発火しました。
    ただそれは質問用に簡略化させた方だけなので、本番はまだ動かないです。
    masterpageのIDの設定が良くない気がしてます。

    キャンセル

  • 2018/06/07 14:21

    本番用コードをChrome等で表示し、実際に生成されるHTMLのIDなりNAMEなりを見てみてください。DevToolsとか駆使してますよね?
    ASP.NETは特定のルールでIDが自動付与されるため、jQueryで操作する場合にはIDの完全一致のほか、NAMEを使った後方一致等も駆使して制御します。$=とか。

    キャンセル

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

  • ただいまの回答率 90.86%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • VB.NET

    828questions

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

  • ASP.NET

    456questions

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