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

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

新規登録して質問してみよう
ただいま回答率
85.50%
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回答

5193閲覧

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

aichi-tomida

総合スコア13

ASP.NET

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

VB.NET

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

0グッド

1クリップ

投稿2018/06/03 14:23

編集2018/06/03 22:27

前提・実現したいこと

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

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/06/03 22:40 編集

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

退会済みユーザー

2018/06/03 22:43

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

回答1

0

ベストアンサー

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

投稿2018/06/03 23:41

ShikaTech

総合スコア468

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

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

aichi-tomida

2018/06/07 05:17

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

2018/06/07 05:21

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問