» Posted by noname at 07/03/2008 19:26:58
» Language: ASPX
« Previous - Next »
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Register Assembly="Wilco.Web.Silverlight" Namespace="Wilco.Web.Silverlight" TagPrefix="wilco" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Client Services Demo</title>
<script type="text/javascript" language="javascript">
function $get(id) {
return document.getElementById(id);
}
function setStatus(message) {
var resultsLabel = $get("resultsLabel");
resultsLabel.innerHTML = message;
}
function replace(str, x, y) {
while (str.indexOf(x) > -1) {
str = str.replace(x, y);
}
return str;
}
</script>
<script type="text/javascript" language="javascript">
function getClientServices() {
return $get("myDomain_ctl00_sl").content.clientServices;
}
function openDraft() {
var services = getClientServices();
var messageTextBox = $get("messageTextBox");
messageTextBox.value = services.readAllText("Draft.txt");
setStatus("Opened draft...");
}
function saveDraft() {
var services = getClientServices();
var messageTextBox = $get("messageTextBox");
services.writeAllText("Draft.txt", messageTextBox.value);
setStatus("Saved draft...");
}
function getPreference() {
var services = getClientServices();
var preferences = services.createPreferences('testApp');
var colorTextBox = $get("colorTextBox");
colorTextBox.value = preferences.get("color");
setStatus("Retrieved preference...");
}
function setPreference() {
var services = getClientServices();
var preferences = services.createPreferences('testApp');
var colorTextBox = $get("colorTextBox");
preferences.set("color", colorTextBox.value);
setStatus("Saved preference...");
}
function openFiles() {
var services = getClientServices();
var colorTextBox = $get("colorTextBox");
var openedFiles = services.openFiles("All Files|*.*|Text Files|*.txt");
if (openedFiles.length > 0) {
var text = "The following files were selected:";
for (var i = 0; i < openedFiles.length; i++) {
text += "<br />" + openedFiles[i].fileName + " (length=" + openedFiles[i].contents.length + ")";
}
setStatus(text);
}
else {
setStatus("No files were selected.");
}
}
function getUploader() {
var services = getClientServices();
if (window.uploader == null) {
var progressBar = $get("progressBar");
var progressRate = $get("progressRate");
var pauseButton = $get("pauseButton");
var resumeButton = $get("resumeButton");
window.uploader = services.createUploader("/Silverlight2/UploadHandler.ashx");
window.uploader.progressChanged = function() {
progressBar.style.width = uploader.progress.progressPercentage + '%';
progressRate.innerHTML = (uploader.transferRate / (1024 * 1024)).toFixed(2) + "mb/s";
};
window.uploader.completed = function() {
setStatus("Upload completed.");
}
pauseButton.onclick = function() {
window.uploader.pauseAll();
setStatus("Uploads paused.");
};
resumeButton.onclick = function() {
window.uploader.resumeAll();
setStatus("Uploads resumed.");
};
}
return window.uploader;
}
function uploadFiles() {
var services = getClientServices();
var uploader = getUploader();
// Open some files to upload.
var openedFiles = services.openFiles("All Files|*.*|Text Files|*.txt");
if (openedFiles.length > 0) {
for (var i = 0; i < openedFiles.length; i++) {
// Add files to the uploader.
try {
uploader.addFile(openedFiles[i].stream, openedFiles[i].fileName);
}
catch (e) {
alert(e.message ? e.message : e);
}
}
// Start the uploader.
uploader.start();
setStatus("Uploading files...");
}
else {
setStatus("No files were selected to upload.");
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<wilco:SilverlightDomain runat="server" ID="myDomain">
<wilco:ClientServices ID="clientServices" runat="server" />
</wilco:SilverlightDomain>
<p>
To better understand this demo, you should view the source of this page and see what we can do in JavaScript.
</p>
<div>
<h1>Local Store</h1>
<input type="button" onclick="openDraft();" value="Open 'Draft.txt'" />
<input type="button" onclick="saveDraft(); return false;" value="Save 'Draft.txt'" />
<textarea id="messageTextBox" style="display: block" rows="10" cols="50"></textarea>
</div>
<div>
<h1>Preferences</h1>
<input type="button" onclick="getPreference(); return false;" value="Get preference 'color'" />
<input type="button" onclick="setPreference(); return false;" value="Set preference 'color'" />
<input id="colorTextBox" style="display: block" />
</div>
<div>
<h1>Open file dialog</h1>
<input type="button" onclick="openFiles(); return false;" value="Open files" />
</div>
<div>
<h1>Async file upload</h1>
<input type="button" onclick="uploadFiles(); return false;" value="Upload files" />
<input type="button" id="pauseButton" value="Pause all" />
<input type="button" id="resumeButton" value="Resume all" />
<div>
<span style="width: 500px; height: 10px; border: 1px solid black">
<span id="progressBar" style="width: 0px; height: 10px; background-color: black"></span>
</span>
<span id="progressRate" style="margin-left: 5px">0mb/s</span>
</div>
</div>
<div id="resultsLabel" style="border-top: 2px solid; padding-top: 10px; margin-top: 20px; width: 100%">
No results yet.
</div>
</div>
</form>
</body>
</html>
|
|