回答編集履歴
2
追記
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
ていせい
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
|
|