一、用Javascript调用了服务器端的事件
先預設個服務器端控件,但在界面端不要讓之顯示,如
<asp:LinkButton ID="CreateDir" runat="server" OnClick="CreateDir_Click" />
JS:
__doPostBack('CreateDir', '');
这样就调用了服务器端的事件程序:CreateDir_Click()
二、下面的例子是在客户端用 javascript 调用服务器端 webservice 的例子。看看
<script id="clientEventHandlersJS" language="javascript">
var iCallID;
var xmlDoc;
var strType;
var strMyName,strMyNickName,strName,strNickName,strFriendName,strFriendNickName;
var bPrivate,bOnlyUser ; //私聊
//初始化链接
function window_onload() {
divWSBehavior.useService("../WSBitUnite.asmx?WSDL","ServiceChat");
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
iCallID = divWSBehavior.ServiceChat.callService("ReadMessage");
window.setInterval("ReadMessage();",3000);
}
//读取信息
function ReadMessage()
{
iCallID = divWSBehavior.ServiceChat.callService(GetData,"ReadMessage");
}
//读取信息
function GetData(result)
{
var strBody;
var strPrivate,strMessage,strOther;
//alert(result.value);
xmlDoc.loadXML(result.value);
for (var i=0 ;i<xmlDoc.documentElement.childNodes.length;i++)
{
var xmlNode = xmlDoc.documentElement.childNodes(i);
//读取用户的聊天信息
strName=xmlNode.childNodes(0).text;
//把名字改成昵称
strNickName=strName;
strFriendNickName=xmlNode.childNodes(1).text;
//把名字改成昵称
strFrienNickName=strFriendName;
strPrivate=xmlNode.childNodes(2).text;
strMessage=xmlNode.childNodes(3).text;
strOther=xmlNode.childNodes(4).text;
//根据不同情况,决定如何显示数据。
switch(xmlDoc.documentElement.childNodes(i).nodeName)
{
case "Chat":
strMessage=strMessage.replace(':)', '<img src="../images/chat/regular_smile.gif" width="19" htight="19" >');
strMessage=strNickName + "对" + strFriendNickName + "说:" +strMessage + '<br>';
divUser.insertAdjacentHTML("beforeEnd" ,strMessage) ;
break;
case "UpFile":
strMessage=strNickName + "给" + strFriendNickName + "发送了文件:" +strMessage + '<br>';
parent.showfile(strMessage) ;
break;
case "Music":
strBody="'" + xmlNode.childNodes(1).text + "'" ;
strMessage="'" + xmlNode.childNodes(0).text + "'" + "对" + strNickName;
strMessage+='说:我给你点了一首歌曲<img src="images/Music/play.gif" width="13" height="12" border="0" style="CURSOR: hand" onClick="PlayChatMusic(' + strBody + ')">希望你喜欢。<br>';
break;
case "Video":
strBody="'" + xmlNode.childNodes(1).text + "'" ;
strMessage="'" + xmlNode.childNodes(0).text + "'" + "对" + strNickName;
strMessage+='说:我给你点了一部电影<img src="images/Music/play.gif" width="13" height="12" border="0" style="CURSOR: hand" onClick="PlayChatMusic(' + strBody + ')">希望你喜欢。<br>';
break;
case "OnLine":
strMessage+= xmlNode.childNodes(1).text + '来到了聊天室。<br>' ;
break;
case "OffLine":
strMessage+= xmlNode.childNodes(1).text + '离开了聊天室。<br>' ;
break;
case "ChangeRoom":
strMessage=xmlNode.childNodes(0).text + "到" + xmlNode.childNodes(1).text + '去了。<br>' ;
break;
default:
}
//strMessage=strMessage.replace(':)', '<img src="http://<%=strHttpPath%>/images/chat/regular_smile.gif" width="19" htight="19" >');
//divUser.insertAdjacentHTML("beforeEnd" ,strMessage) ;
divUser.doScroll();
}
}
function document.onkeypress()
{
if (event.keyCode == 13)
{
WriteChat();
var ChatMessage;
strFriend=document.FormChat.DropDownListUser.text;
//alert(strFriend);
ChatMessage = document.FormChat.TextBoxChat.value;
//divWSBehavior.innerHTML
divUser.innerHTML+=strNickName + "对" + strFriendNickName + "说:" + ChatMessage + "<BR>";
document.FormChat.TextBoxChat.value="";
event.keyCode =0;
}
}
//显示文件传对话框
function showfile()
{
strNickName=parent.strFriend;
window.open("../SoftWare/frmUpFile.aspx?Friend=" + parent.strFriend)
}
function ShowFace(e)
{
//表情图标
if (e.style.visibility == "hidden")
{
e.style.visibility = "visible";
}
else
{
e.style.visibility = "hidden";
}
}
//表情图标
function clickface(strImgName,Layerface)
{
document.FormChat.TextBoxChat.value+=strImgName;
ShowFace(Layerface);
}
//播放音乐
void function PlayChatMusic(strFileName)
{
parent.rightFrame.frames('frameMusic').PlayMusic(strFileName);
}
//写聊天信息
function WriteChat()
{
var strFriend, ChatMessage;
strFriend=document.FormChat.DropDownListUser.value;
//alert(strFriend);
ChatMessage = document.FormChat.TextBoxChat.value;
divWSBehavior.ServiceChat.callService("WriteMessage",strFriend,strType,strMessage,"");
//document.FormChat.TextBoxChat.value="";
}
var vDialog=null;
function showDialog(width,height){
var strstatus
strstatus="status:no;resizable:yes;dialogHeight:" + height + "px;dialogWidth:" + width + "px;unadorne:yes";
vDialog=showModelessDialog("../SoftWare/frmUpFile.aspx?Friend=" + parent.strFriend,window,strstatus);
}
</script>
var iCallID;
var xmlDoc;
var strType;
var strMyName,strMyNickName,strName,strNickName,strFriendName,strFriendNickName;
var bPrivate,bOnlyUser ; //私聊
//初始化链接
function window_onload() {
divWSBehavior.useService("../WSBitUnite.asmx?WSDL","ServiceChat");
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
iCallID = divWSBehavior.ServiceChat.callService("ReadMessage");
window.setInterval("ReadMessage();",3000);
}
//读取信息
function ReadMessage()
{
iCallID = divWSBehavior.ServiceChat.callService(GetData,"ReadMessage");
}
//读取信息
function GetData(result)
{
var strBody;
var strPrivate,strMessage,strOther;
//alert(result.value);
xmlDoc.loadXML(result.value);
for (var i=0 ;i<xmlDoc.documentElement.childNodes.length;i++)
{
var xmlNode = xmlDoc.documentElement.childNodes(i);
//读取用户的聊天信息
strName=xmlNode.childNodes(0).text;
//把名字改成昵称
strNickName=strName;
strFriendNickName=xmlNode.childNodes(1).text;
//把名字改成昵称
strFrienNickName=strFriendName;
strPrivate=xmlNode.childNodes(2).text;
strMessage=xmlNode.childNodes(3).text;
strOther=xmlNode.childNodes(4).text;
//根据不同情况,决定如何显示数据。
switch(xmlDoc.documentElement.childNodes(i).nodeName)
{
case "Chat":
strMessage=strMessage.replace(':)', '<img src="../images/chat/regular_smile.gif" width="19" htight="19" >');
strMessage=strNickName + "对" + strFriendNickName + "说:" +strMessage + '<br>';
divUser.insertAdjacentHTML("beforeEnd" ,strMessage) ;
break;
case "UpFile":
strMessage=strNickName + "给" + strFriendNickName + "发送了文件:" +strMessage + '<br>';
parent.showfile(strMessage) ;
break;
case "Music":
strBody="'" + xmlNode.childNodes(1).text + "'" ;
strMessage="'" + xmlNode.childNodes(0).text + "'" + "对" + strNickName;
strMessage+='说:我给你点了一首歌曲<img src="images/Music/play.gif" width="13" height="12" border="0" style="CURSOR: hand" onClick="PlayChatMusic(' + strBody + ')">希望你喜欢。<br>';
break;
case "Video":
strBody="'" + xmlNode.childNodes(1).text + "'" ;
strMessage="'" + xmlNode.childNodes(0).text + "'" + "对" + strNickName;
strMessage+='说:我给你点了一部电影<img src="images/Music/play.gif" width="13" height="12" border="0" style="CURSOR: hand" onClick="PlayChatMusic(' + strBody + ')">希望你喜欢。<br>';
break;
case "OnLine":
strMessage+= xmlNode.childNodes(1).text + '来到了聊天室。<br>' ;
break;
case "OffLine":
strMessage+= xmlNode.childNodes(1).text + '离开了聊天室。<br>' ;
break;
case "ChangeRoom":
strMessage=xmlNode.childNodes(0).text + "到" + xmlNode.childNodes(1).text + '去了。<br>' ;
break;
default:
}
//strMessage=strMessage.replace(':)', '<img src="http://<%=strHttpPath%>/images/chat/regular_smile.gif" width="19" htight="19" >');
//divUser.insertAdjacentHTML("beforeEnd" ,strMessage) ;
divUser.doScroll();
}
}
function document.onkeypress()
{
if (event.keyCode == 13)
{
WriteChat();
var ChatMessage;
strFriend=document.FormChat.DropDownListUser.text;
//alert(strFriend);
ChatMessage = document.FormChat.TextBoxChat.value;
//divWSBehavior.innerHTML
divUser.innerHTML+=strNickName + "对" + strFriendNickName + "说:" + ChatMessage + "<BR>";
document.FormChat.TextBoxChat.value="";
event.keyCode =0;
}
}
//显示文件传对话框
function showfile()
{
strNickName=parent.strFriend;
window.open("../SoftWare/frmUpFile.aspx?Friend=" + parent.strFriend)
}
function ShowFace(e)
{
//表情图标
if (e.style.visibility == "hidden")
{
e.style.visibility = "visible";
}
else
{
e.style.visibility = "hidden";
}
}
//表情图标
function clickface(strImgName,Layerface)
{
document.FormChat.TextBoxChat.value+=strImgName;
ShowFace(Layerface);
}
//播放音乐
void function PlayChatMusic(strFileName)
{
parent.rightFrame.frames('frameMusic').PlayMusic(strFileName);
}
//写聊天信息
function WriteChat()
{
var strFriend, ChatMessage;
strFriend=document.FormChat.DropDownListUser.value;
//alert(strFriend);
ChatMessage = document.FormChat.TextBoxChat.value;
divWSBehavior.ServiceChat.callService("WriteMessage",strFriend,strType,strMessage,"");
//document.FormChat.TextBoxChat.value="";
}
var vDialog=null;
function showDialog(width,height){
var strstatus
strstatus="status:no;resizable:yes;dialogHeight:" + height + "px;dialogWidth:" + width + "px;unadorne:yes";
vDialog=showModelessDialog("../SoftWare/frmUpFile.aspx?Friend=" + parent.strFriend,window,strstatus);
}
</script>
<div id="divWSBehavior" style="DISPLAY: none; BEHAVIOR: url(webservice.htc)"></div>