回答編集履歴

2

追記&訂正

2021/01/05 07:20

投稿

退会済みユーザー
test CHANGED
@@ -15,3 +15,55 @@
15
15
 
16
16
 
17
17
  onClientClick="return sleep_time(<%#sleep_time%>);"
18
+
19
+
20
+
21
+ **【訂正&追記】**
22
+
23
+
24
+
25
+ **上の回答は間違ってましたので訂正します。**
26
+
27
+
28
+
29
+ ベストアンサーがついてしまっていますので、上の回答はそのまま残しておきますが、以下のようにしないと期待通りにはならないと思います。(ベストアンサーを付けたということは質問者さんのケースで動いたのかもしれませんが)
30
+
31
+
32
+
33
+ まず上で回答した onClientClick="return sleep_time(<%#sleep_time%>);" の <%# ... %> というのはデータバインディング式で、そこはコード埋め込み用の <%= ... %> を使うべきでした。
34
+
35
+
36
+
37
+ しかしながら、<%= ... %> は使えないケースがあって、OnClientClick では無視されてそのまま <%= ... %> という文字列になってしまうということを忘れていました。
38
+
39
+
40
+
41
+ なので、web.config の appSettings から値を取得してきて、OnClientClick のスクリプトに設定するには、
42
+
43
+
44
+
45
+ ![イメージ説明](2b2d93956f6e478b1bdaa150b3b1c797.jpeg)
46
+
47
+
48
+
49
+ コードビハインド .aspx.cs 側で以下のようにします。
50
+
51
+
52
+
53
+ ![イメージ説明](6721432f41b5d3557483987de9295b3b.jpeg)
54
+
55
+
56
+
57
+ .aspx 側のコードは以下の通りです。Visual Studio のテンプレートを使って自動生成される About.aspx に赤枠部分のコードを追加しました。質問者さんのスクリプトは動かなかったので書き換えました。
58
+
59
+
60
+
61
+ ![イメージ説明](11d4de31b8627e5dc41d50d4093e3e03.jpeg)
62
+
63
+
64
+
65
+ スクリプトの目的は web.config の appSettings に書いた 3000 ミリ秒待ってポストバックするということと理解していますが、上のコードを実行して Button をクリックすると 3 秒後に以下の画像のように alert が表示され、[OK]ボタンをクリックするとポストバックされます。
66
+
67
+
68
+
69
+ ![![スクリプトの](263e5f2334914860a9ca4384f6658818.jpeg)](530c64d32dcaa27b73d84e2fa7b40ecc.jpeg)

1

訂正

2021/01/05 07:20

投稿

退会済みユーザー
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- onClientClick="return sleep_time(parseInt(3000));"
9
+ onClientClick="return sleep_time(3000);"
10
10
 
11
11
 
12
12
 
@@ -14,4 +14,4 @@
14
14
 
15
15
 
16
16
 
17
- onClientClick="return sleep_time(parseInt(<%# sleep_time %>));"
17
+ onClientClick="return sleep_time(<%#sleep_time%>);"