質問するログイン新規登録

回答編集履歴

2

追記

2018/05/31 03:45

投稿

退会済みユーザー
answer CHANGED
@@ -68,4 +68,151 @@
68
68
  </form>
69
69
  </body>
70
70
  </html>
71
+ ```
72
+
73
+ **【追記】**
74
+
75
+ 質問への 2018/05/31 09:12 の私のコメントで「全体的なやりたいことのシナリオ・ストーリーを書いてもらえませんか? それに合わせて徐々に実装しながら検証してみますので」と書きましたが、それを以下に書いておきます。
76
+
77
+ やりたいことは以下の通りと理解。
78
+
79
+ (1) Panel 内に UpdatePanel、その中に GridView を実装。
80
+
81
+ (2) Panel の外に TextBox と Button を配置。
82
+
83
+ (3) ModalPopupExtender を配置し、PopupControlID を上記 (1) の Panel に、TargetControlID を上記(2)の Button に設定。
84
+
85
+ (4) Button クリックで Panel(その中の GridView も)表示。
86
+
87
+ (5) GridView の行選択で Panel を非表示にして TextBox に選択した行のデータを表示。
88
+
89
+ 上記やりたいことの最低限の実装ですが、以下のコードで期待通り Firefox 60.0.1 でも動きます。
90
+
91
+ 質問者さんの環境で動かないとすると、質問者さんの環境固有の問題だと思われます。
92
+
93
+ 動くとすると、これに加えて質問者さんがいろいろ実装したコードの影響だと思います。何か違うのか、何の影響なのか質問者さんの方で良く調べてください。
94
+
95
+
96
+ **.aspx.cs**
97
+
98
+ ```
99
+ using System;
100
+ using System.Collections.Generic;
101
+ using System.Linq;
102
+ using System.Web;
103
+ using System.Web.UI;
104
+ using System.Web.UI.WebControls;
105
+ using System.Data;
106
+
107
+ namespace WebFormsAppNET4
108
+ {
109
+ public partial class _default : System.Web.UI.Page
110
+ {
111
+ protected void Page_Load(object sender, EventArgs e)
112
+ {
113
+ if (!IsPostBack)
114
+ {
115
+ DataTable dt = new DataTable();
116
+ dt.Columns.Add("Test");
117
+ dt.Rows.Add(new object[] { "1" });
118
+ dt.Rows.Add(new object[] { "2" });
119
+ dt.Rows.Add(new object[] { "3" });
120
+ dt.Rows.Add(new object[] { "4" });
121
+ GridView1.DataSource = dt;
122
+ GridView1.DataBind();
123
+ }
124
+ }
125
+
126
+ protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
127
+ {
128
+ if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)
129
+ {
130
+ ScriptManager.GetCurrent(this).RegisterDataItem(GridView1,
131
+ GridView1.SelectedRow.Cells[1].Text);
132
+ }
133
+ ModalPopupExtender1.Hide();
134
+ }
135
+ }
136
+ }
137
+ ```
138
+
139
+ **.aspx**
140
+
141
+ ```
142
+ <%@ Page Language="C#" AutoEventWireup="true"
143
+ CodeBehind="default.aspx.cs" Inherits="WebFormsAppNET4._default" %>
144
+
145
+ <%@ Register Assembly="AjaxControlToolkit"
146
+ Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
147
+
148
+ <!DOCTYPE html>
149
+
150
+ <html xmlns="http://www.w3.org/1999/xhtml">
151
+ <head runat="server">
152
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
153
+ <title></title>
154
+ <script type="text/javascript">
155
+ //<![CDATA[
156
+ var manager;
157
+
158
+ function pageLoad(sender, args) {
159
+ if (args.get_isPartialLoad() === false) {
160
+ manager = Sys.WebForms.PageRequestManager.getInstance();
161
+ manager.add_pageLoaded(pageLoaded);
162
+ }
163
+ }
164
+
165
+ function pageLoaded(sender, args) {
166
+ if (manager.get_isInAsyncPostBack()) {
167
+ var selectedIndex = args.get_dataItems()["GridView1"];
168
+ document.getElementById("TextBox1").value = selectedIndex;
169
+ }
170
+ }
171
+
172
+ //]]>
173
+ </script>
174
+ <style type="text/css">
175
+ /*Modal Popup*/
176
+ .modalBackground {
177
+ background-color: Gray;
178
+ filter: alpha(opacity=70);
179
+ opacity: 0.7;
180
+ }
181
+
182
+ .popuppanel {
183
+ background-color: #ffffff;
184
+ }
185
+ </style>
186
+
187
+ </head>
188
+ <body>
189
+ <form id="form1" runat="server">
190
+ <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
191
+
192
+ <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
193
+ <asp:Button ID="Button1" runat="server" Text="Button" />
194
+
195
+ <asp:Panel ID="Panel1" runat="server" CssClass="popuppanel">
196
+ <asp:UpdatePanel ID="UpdatePanel1" runat="server">
197
+ <ContentTemplate>
198
+ <asp:GridView ID="GridView1" runat="server"
199
+ AutoGenerateColumns="False"
200
+ AutoGenerateSelectButton="True"
201
+ OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
202
+ <Columns>
203
+ <asp:BoundField DataField="Test" HeaderText="テスト" />
204
+ </Columns>
205
+ </asp:GridView>
206
+ </ContentTemplate>
207
+ </asp:UpdatePanel>
208
+ </asp:Panel>
209
+ <ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender1"
210
+ runat="server"
211
+ PopupControlID="Panel1"
212
+ TargetControlID="Button1"
213
+ BackgroundCssClass="modalBackground">
214
+ </ajaxToolkit:ModalPopupExtender>
215
+ </form>
216
+ </body>
217
+ </html>
71
218
  ```

1

ていせい

2018/05/31 03:45

投稿

退会済みユーザー
answer CHANGED
@@ -42,7 +42,7 @@
42
42
  function pageLoad(sender, args) {
43
43
  if (args.get_isPartialLoad() === false) {
44
44
  manager = Sys.WebForms.PageRequestManager.getInstance();
45
- manager.add_pageLoaded(pageLoaded)
45
+ manager.add_pageLoaded(pageLoaded);
46
46
  }
47
47
  }
48
48