回答編集履歴
2
追記&訂正
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
訂正
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
onClientClick="return sleep_time(
|
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(
|
17
|
+
onClientClick="return sleep_time(<%#sleep_time%>);"
|