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

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

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

ASP.NET

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

Q&A

解決済

1回答

1055閲覧

子ファイル読み込みイベント実行されない問題について

rockbatman

総合スコア13

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

ASP.NET

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

0グッド

0クリップ

投稿2021/05/06 03:47

編集2021/05/06 07:59

開発環境
「OS」Windows 10
「Visual Studio Community 2019」Ver16.9.4
「.NET Framework」Ver4.8
「jquery」Ver3.4.1

ラジオボタンリストから選択されたものをラベル表示する処理なのですが、

親ファイル(index.aspx)からデバック実行してもイベントが実行されず、エラーも表示されません。
子ファイル(Child_screen.aspx)からデバック実行するとイベントは実行されます。
尚イベント処理は子ファイルに記載しております。
親ファイルから実行してもイベント処理を動かしたいのですがどのようにすれば処理は実行されますでしょうか?
ソースは下記のとおりです。

◆index.aspx(親ファイル)

index.aspx

1<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="sample_quention.index" %> 2 3<!DOCTYPE html> 4 5<html xmlns="http://www.w3.org/1999/xhtml"> 6<head runat="server"> 7<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 8 <script src="../js/jquery-3.4.1.min.js"></script> 9 <script> 10 $(function () { 11 $("#child").load("Child_screen.aspx"); 12 }); 13 </script> 14</head> 15<body> 16 <form id="form1" runat="server"> 17 <div> 18 <p>親ページ</p> 19 </div> 20 <%-- ここから子画面読み込みファイル --%> 21 <div id="child"></div> 22 </form> 23</body> 24</html>

◆Child_screen.aspx(子ファイル)

Child_screen.aspx

1<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Child_screen.aspx.cs" Inherits="sample_quention.Child_screen" %> 2 3<!DOCTYPE html> 4 5<html xmlns="http://www.w3.org/1999/xhtml"> 6<head runat="server"> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 8 <title></title> 9</head> 10<body> 11 <form id="form1" runat="server"> 12 <div> 13 <p>子画面</p> 14 </div> 15 <asp:RadioButtonList ID="RadioList" runat="server" AutoPostBack="True" RepeatDirection="Horizontal" OnSelectedIndexChanged="RadioList_SelectedIndexChanged"> 16 <asp:ListItem Text="Item 1" Value="Item 1" Selected="True"></asp:ListItem> 17 <asp:ListItem Text="Item 2" Value="Item 2"></asp:ListItem> 18 <asp:ListItem Text="Item 3" Value="Item 3"></asp:ListItem> 19 </asp:RadioButtonList> 20 21 <asp:Label ID="Label" runat="server"></asp:Label> 22 </form> 23</body> 24</html> 25

◆ Child_screen.aspx.cs(子ファイルイベント)

Child_screen.aspx.cs

1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Web; 5using System.Web.UI; 6using System.Web.UI.WebControls; 7 8namespace sample_quention 9{ 10 public partial class Child_screen : System.Web.UI.Page 11 { 12 protected void Page_Load(object sender, EventArgs e) 13 { 14 15 } 16 17 protected void RadioList_SelectedIndexChanged(object sender, EventArgs e) 18 { 19 Label.Text = $"[{RadioList.SelectedValue}]が選択されました。"; 20 } 21 } 22}

またこの場合どのように検索したら解決方法に導けるのでしょうか

つたない説明で申し訳ありませんがご教授よろしくお願いいたします。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/05/06 05:43

開発環境(OS, Visual Studio, .NET Framework のバージョンなど)を質問欄を編集して追記願います。 どうしても別 aspx ページにする必要があるのですか? 親のみを aspx にして子の方をユーザーコントロール(ascx) にするという選択肢はないのですか?
rockbatman

2021/05/06 07:26

SurferOnWww様 ご指摘ありがとうございます。 開発環境まわりの説明を記入し忘れてました。 失礼いたしました。 ユーザーコントロール(ascx)そのものを知りませんでした。 ありがとうございます。ユーザーコントロールについて勉強してみます。 またわからないことが出てきましたら質問させていただきます。 よろしくお願い致します。
退会済みユーザー

退会済みユーザー

2021/05/06 07:43

> 開発環境まわりの説明を記入し忘れてました。 質問欄は編集できます。質問欄を編集して開発環境(OS, Visual Studio, .NET Framework のバージョンなど)を追記してください。 > ユーザーコントロール(ascx)そのものを知りませんでした。 後で回答欄にユーザーコントロールを使った例を書いておきます。
guest

回答1

0

ベストアンサー

どうしても親子両方を別 aspx ページにする必要はなさそうなので、親のみを aspx にして、子の方をユーザーコントロール(ascx) にする例を書いておきます。

$("#child").load("Child_screen.aspx"); で aspx ページを aspx ページの中に入れ子にするやり方はできないと思ってください(少なくとも ASP.NET Web Forms アプリの想定外)。

親ページ WebForm22.aspx (.aspc.cs は省略)

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm22.aspx.cs" Inherits="WebApplication1.WebForm22" %> <%@ Register TagPrefix="uc" Src="~/WebUserControl3.ascx" TagName="MyControl" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> <p>親ページ</p> </div> <%-- ここにユーザーコントロールを読み込む --%> <uc:MyControl ID="MuControl1" runat="server" /> </form> </body> </html>

ユーザーコントロール WebUserControl3.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl3.ascx.cs" Inherits="WebApplication1.WebUserControl3" %> <div> <p>子画面</p> </div> <asp:RadioButtonList ID="RadioList" runat="server" AutoPostBack="True" RepeatDirection="Horizontal" OnSelectedIndexChanged="RadioList_SelectedIndexChanged"> <asp:ListItem Text="Item 1" Value="Item 1" Selected="True"></asp:ListItem> <asp:ListItem Text="Item 2" Value="Item 2"></asp:ListItem> <asp:ListItem Text="Item 3" Value="Item 3"></asp:ListItem> </asp:RadioButtonList> <asp:Label ID="Label" runat="server"></asp:Label>

ユーザーコントロール WebUserControl3.ascx.cs

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebApplication1 { public partial class WebUserControl3 : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { } protected void RadioList_SelectedIndexChanged(object sender, EventArgs e) { Label.Text = $"[{RadioList.SelectedValue}]が選択されました。"; } } }

デバッガでブレークポイントで止めたところ

イメージ説明

結果

イメージ説明

投稿2021/05/06 07:57

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

rockbatman

2021/05/06 08:12

SurferOnWww様 ありがとうございました。動作確認できました。 > aspx ページを aspx ページの中に入れ子にするやり方はできないと思ってください。少なくとも ASP.NET Web Forms アプリの想定外) 承知いたしました。気を付けます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問