質問編集履歴

9

頂いたサンプルソースでの結果を追加

2018/04/13 00:12

投稿

FinalCode
FinalCode

スコア8

test CHANGED
File without changes
test CHANGED
@@ -227,3 +227,23 @@
227
227
  GridView内のLinkButtonで再検索を行わない様にしたいのですがどの様にすればよろしいでしょうか。
228
228
 
229
229
  御教授お願いいたします。
230
+
231
+
232
+
233
+ 頂いたコードでの結果
234
+
235
+ ---
236
+
237
+
238
+
239
+ ![イメージ説明](7eef29d735f10785140a0fa6f9d87661.png)
240
+
241
+ 画面表示後に条件Aでの検索を行った状態
242
+
243
+ ①条件Bを選択する
244
+
245
+ ②カート追加ボタンを押下する
246
+
247
+ ![イメージ説明](22b677246e184bfc817765edb6cbf6cb.png)
248
+
249
+ 正しく条件AでのValueが取得できるがGridViewが条件Bで更新されて表示されてしまう

8

実環境表記削除

2018/04/13 00:12

投稿

FinalCode
FinalCode

スコア8

test CHANGED
File without changes
test CHANGED
@@ -227,37 +227,3 @@
227
227
  GridView内のLinkButtonで再検索を行わない様にしたいのですがどの様にすればよろしいでしょうか。
228
228
 
229
229
  御教授お願いいたします。
230
-
231
-
232
-
233
- 実際の画面と操作
234
-
235
- ---
236
-
237
- ![イメージ説明](bcae2913eefd49d7932a5341f086a3b0.png)
238
-
239
- **正常に動く動作**
240
-
241
- 0. 品目グループを入力し右のラジオが単一品目の状態で検索を押下すると下部に品目グループで検索されたGridViewが表示されます。
242
-
243
- 0. 表示されたGridViewの見積欄のボタンを押下するとDBに品目コード「AAAAa」が登録されます。
244
-
245
-
246
-
247
- **正常に動かない動作**
248
-
249
- 0. 品目グループを入力し右のラジオが単一品目の状態で検索を押下すると下部に品目グループで検索されたGridViewが表示されます。
250
-
251
- 0. ラジオをセット品目に変更し検索を押さずに見積欄のボタンを押下すると**セット品目グループで検索された品目コードがDBに登録されます。**
252
-
253
-
254
-
255
-
256
-
257
- 画面の基本的な構成はテストコードと同じでUpdatePanelがGridViewにかかっていて同じようにtriggerが設定されている状態となっております。
258
-
259
-
260
-
261
- **期待する動作**
262
-
263
- 正常に動かない動作のパターンでもDBに品目コード「AAAAa」が登録され、GridViewの再描画も再検索も行わせない。

7

実際の画面と操作、問題の追記

2018/04/13 00:01

投稿

FinalCode
FinalCode

スコア8

test CHANGED
File without changes
test CHANGED
@@ -227,3 +227,37 @@
227
227
  GridView内のLinkButtonで再検索を行わない様にしたいのですがどの様にすればよろしいでしょうか。
228
228
 
229
229
  御教授お願いいたします。
230
+
231
+
232
+
233
+ 実際の画面と操作
234
+
235
+ ---
236
+
237
+ ![イメージ説明](bcae2913eefd49d7932a5341f086a3b0.png)
238
+
239
+ **正常に動く動作**
240
+
241
+ 0. 品目グループを入力し右のラジオが単一品目の状態で検索を押下すると下部に品目グループで検索されたGridViewが表示されます。
242
+
243
+ 0. 表示されたGridViewの見積欄のボタンを押下するとDBに品目コード「AAAAa」が登録されます。
244
+
245
+
246
+
247
+ **正常に動かない動作**
248
+
249
+ 0. 品目グループを入力し右のラジオが単一品目の状態で検索を押下すると下部に品目グループで検索されたGridViewが表示されます。
250
+
251
+ 0. ラジオをセット品目に変更し検索を押さずに見積欄のボタンを押下すると**セット品目グループで検索された品目コードがDBに登録されます。**
252
+
253
+
254
+
255
+
256
+
257
+ 画面の基本的な構成はテストコードと同じでUpdatePanelがGridViewにかかっていて同じようにtriggerが設定されている状態となっております。
258
+
259
+
260
+
261
+ **期待する動作**
262
+
263
+ 正常に動かない動作のパターンでもDBに品目コード「AAAAa」が登録され、GridViewの再描画も再検索も行わせない。

6

問題と期待動作の修正

2018/04/12 08:28

投稿

FinalCode
FinalCode

スコア8

test CHANGED
File without changes
test CHANGED
@@ -221,3 +221,9 @@
221
221
  3の時にPostBackが発生してない・画面の更新がされていないにも関わらず、4のLinkButton.Clickで取得できるIDが3で検索した時に取れるIDになってしまいます。
222
222
 
223
223
  RadioButtonのAutoPostBackも切っている・UpdatePanelのtriggerも検索ボタンに設定しているのに何故検索条件Bでとれた場合のIDが取得されてしまうのでしょうか
224
+
225
+
226
+
227
+ GridView内のLinkButtonで再検索を行わない様にしたいのですがどの様にすればよろしいでしょうか。
228
+
229
+ 御教授お願いいたします。

5

用意されているデータの追記。及びSELECT文,RadioButtonList1の修正。

2018/04/12 01:42

投稿

FinalCode
FinalCode

スコア8

test CHANGED
File without changes
test CHANGED
@@ -68,9 +68,9 @@
68
68
 
69
69
  <asp:RadioButtonList ID="RadioButtonList1" runat="server">
70
70
 
71
+ <asp:ListItem Selected="True" Value="0">条件A</asp:ListItem>
72
+
71
- <asp:ListItem Selected="True">条件A</asp:ListItem>
73
+ <asp:ListItem Value="1">条件B</asp:ListItem>
72
-
73
- <asp:ListItem>条件B</asp:ListItem>
74
74
 
75
75
  </asp:RadioButtonList>
76
76
 
@@ -136,7 +136,7 @@
136
136
 
137
137
  <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="DB接続文"
138
138
 
139
- SelectCommand="SELECT ID FROM T_TABLE WHERE ID = @ID" CancelSelectOnNullParameter="False">
139
+ SelectCommand="SELECT ID FROM T_TABLE WHERE KBN = @KBN" CancelSelectOnNullParameter="False">
140
140
 
141
141
  <SelectParameters>
142
142
 
@@ -180,6 +180,22 @@
180
180
 
181
181
  **用意されているデータ**
182
182
 
183
+ ID,KBN
184
+
185
+ 1,0
186
+
187
+ 2,0
188
+
189
+ 3,0
190
+
191
+ 4,1
192
+
193
+ 5,1
194
+
195
+ 6,1
196
+
197
+
198
+
183
199
  検索条件Aで検索するとGridViewにはID1,2,3の行が表示される。
184
200
 
185
201
  検索条件Bで検索するとGridViewにはID4,5,6の行が表示される。

4

サンプルソースコードのRadioButtonに初期値設定漏れがあった為修正。画像も修正。

2018/04/11 06:38

投稿

FinalCode
FinalCode

スコア8

test CHANGED
File without changes
test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
40
 
41
- ![イメージ説明](25d3b968b6f08d0ee27c44d802e19f57.png)
41
+ ![イメージ説明](0312726efaf0c1d3ac7540d1ce0ee3d8.png)
42
42
 
43
43
 
44
44
 
@@ -68,7 +68,7 @@
68
68
 
69
69
  <asp:RadioButtonList ID="RadioButtonList1" runat="server">
70
70
 
71
- <asp:ListItem>条件A</asp:ListItem>
71
+ <asp:ListItem Selected="True">条件A</asp:ListItem>
72
72
 
73
73
  <asp:ListItem>条件B</asp:ListItem>
74
74
 

3

タグの追加

2018/04/11 06:32

投稿

FinalCode
FinalCode

スコア8

test CHANGED
File without changes
test CHANGED
File without changes

2

テストコードの修正

2018/04/11 05:29

投稿

FinalCode
FinalCode

スコア8

test CHANGED
File without changes
test CHANGED
@@ -94,7 +94,7 @@
94
94
 
95
95
  <ItemTemplate>
96
96
 
97
- <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
97
+ <asp:Label ID="Label1" runat="server" Text='<%# Eval("ID") %>'></asp:Label>
98
98
 
99
99
  </ItemTemplate>
100
100
 
@@ -110,7 +110,7 @@
110
110
 
111
111
  <ItemTemplate>
112
112
 
113
- <asp:LinkButton ID="LinkButton1" runat="server" OnClick="カート追加LinkButton_Click">LinkButton</asp:LinkButton>
113
+ <asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%# Eval("ID") %>' OnClick="カート追加LinkButton_Click">LinkButton</asp:LinkButton>
114
114
 
115
115
  </ItemTemplate>
116
116
 

1

ソースの追加 最小限構成化

2018/04/11 05:26

投稿

FinalCode
FinalCode

スコア8

test CHANGED
File without changes
test CHANGED
@@ -10,17 +10,13 @@
10
10
 
11
11
  VisualStudio2017
12
12
 
13
- SQLSERVER2017
14
-
15
13
 
16
14
 
17
15
  画面構成
18
16
 
19
17
  ---
20
18
 
21
- 検索条件用 TextBox
22
-
23
- 検索条件用 RadioButton 2つ
19
+ 検索条件用 RadioButton
24
20
 
25
21
  検索 Button
26
22
 
@@ -42,7 +38,7 @@
42
38
 
43
39
 
44
40
 
45
- ![イメージ説明](bc9a17e373f204b8b3d23933e846f28f.png)
41
+ ![イメージ説明](25d3b968b6f08d0ee27c44d802e19f57.png)
46
42
 
47
43
 
48
44
 
@@ -60,6 +56,104 @@
60
56
 
61
57
  ---
62
58
 
59
+ デザイン側
60
+
61
+ ```ASP.NET
62
+
63
+ <%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.Master" CodeBehind="test.aspx.vb" Inherits="TEST.mailgo" %>
64
+
65
+ <asp:Content ID="Content" ContentPlaceHolderID="body" runat="server">
66
+
67
+ <div style="position: absolute; width: 210px; height: 300px; top: 0px;" id="divMenu">
68
+
69
+ <asp:RadioButtonList ID="RadioButtonList1" runat="server">
70
+
71
+ <asp:ListItem>条件A</asp:ListItem>
72
+
73
+ <asp:ListItem>条件B</asp:ListItem>
74
+
75
+ </asp:RadioButtonList>
76
+
77
+ <asp:Button ID="Button1" runat="server" Text="検索" Height="35px" Width="86px" />
78
+
79
+ <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
80
+
81
+ <ContentTemplate>
82
+
83
+ <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
84
+
85
+ <Columns>
86
+
87
+ <asp:TemplateField HeaderText="ID">
88
+
89
+ <EditItemTemplate>
90
+
91
+ <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
92
+
93
+ </EditItemTemplate>
94
+
95
+ <ItemTemplate>
96
+
97
+ <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
98
+
99
+ </ItemTemplate>
100
+
101
+ </asp:TemplateField>
102
+
103
+ <asp:TemplateField HeaderText="カート追加">
104
+
105
+ <EditItemTemplate>
106
+
107
+ <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
108
+
109
+ </EditItemTemplate>
110
+
111
+ <ItemTemplate>
112
+
113
+ <asp:LinkButton ID="LinkButton1" runat="server" OnClick="カート追加LinkButton_Click">LinkButton</asp:LinkButton>
114
+
115
+ </ItemTemplate>
116
+
117
+ </asp:TemplateField>
118
+
119
+ </Columns>
120
+
121
+ </asp:GridView>
122
+
123
+ </ContentTemplate>
124
+
125
+ <Triggers>
126
+
127
+ <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click">
128
+
129
+ </asp:AsyncPostBackTrigger>
130
+
131
+ </Triggers>
132
+
133
+ </asp:UpdatePanel>
134
+
135
+
136
+
137
+ <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="DB接続文"
138
+
139
+ SelectCommand="SELECT ID FROM T_TABLE WHERE ID = @ID" CancelSelectOnNullParameter="False">
140
+
141
+ <SelectParameters>
142
+
143
+ <asp:ControlParameter ControlID="RadioButtonList1" Name="ID" PropertyName="SelectedValue" />
144
+
145
+ </SelectParameters>
146
+
147
+ </asp:SqlDataSource>
148
+
149
+ </div>
150
+
151
+ </asp:Content>
152
+
153
+ ```
154
+
155
+ コード側
156
+
63
157
  ```VB
64
158
 
65
159
  Protected Sub カート追加LinkButton_Click(sender As Object, e As EventArgs)
@@ -80,24 +174,34 @@
80
174
 
81
175
 
82
176
 
83
- 期待動作
177
+ 問題と期待動作
84
-
178
+
85
- ---
179
+ ---
180
+
86
-
181
+ **用意されているデータ**
182
+
183
+ 検索条件Aで検索するとGridViewにはID1,2,3の行が表示される。
184
+
185
+ 検索条件Bで検索するとGridViewにはID4,5,6の行が表示される。
186
+
187
+
188
+
189
+ 0. 検索条件用 RadioButtonを条件Aに設定する。
190
+
191
+ 0. 検索ボタンを押下する
192
+
193
+ 0. 検索条件用 RadioButtonを条件Bに設定する。
194
+
195
+ 0. GridView内のID2の行のカート追加用 LinkButtonを押下する
196
+
197
+
198
+
199
+ 期待:ID2が取得できる。
200
+
201
+ 現象:ID5が取得される。
202
+
203
+
204
+
87
- 検索ボタン押下後、検索条件用RadioButtonを切り替えGirdView内カート追加用LinkButtonを押下ても、画面表示さてい検索結果IDがSQLSERVER登録される
205
+ 3の時にPostBackが発生しない・画面の更新がされていないにも関わず、4のLinkButton.Clickで取得できるIDが3で検索た時れるIDになってしまいます
88
-
89
-
90
-
91
- 発生している問題
206
+
92
-
93
- ---
94
-
95
- 検索ボタン押下後、検索条件用RadioButtonり替えからGirdView内カート追加用LinkButtonを押下すと、検索条件を切り替え検索結果のIDがSQLSERVERに登録される。
207
+ RadioButtonのAutoPostBackもいる・UpdatePaneltriggerも検索ボタンに設定していのに何故検索条件Bでとれ場合のIDが取得されてしまうのでしょうか
96
-
97
-
98
-
99
- UpdatePanelの更新条件は検索Buttonを押した時のみの想定ですが、GridView内のカート追加ボタンを押下すると意図せず裏では検索結果が更新されていて、LinkButtonのClickイベントに入ってきたときには検索結果IDが書き換わっています。
100
-
101
-
102
-
103
- 検索ボタンでしかGridViewの更新をさせなければ実現できるとは思うのですがどの様にすればよろしいでしょうか。