调用客户端信息??
如果你只简单地读取ip,机器名等信息,没问题
如果想对其机器操作,或读取更多的内容,是不现实的。web程序安全性决定了这一点。

解决方案 »

  1.   

    <asp:LinkButton ID="CreateDir" runat="server" OnClick="CreateDir_Click" />
    JS:
    __doPostBack('CreateDir', '');
    这样就调用了服务器端的事件程序:CreateDir_Click()
      

  2.   

    来晚了!
    被 gshope(北京.Net) 抢先了! :-)
      

  3.   

    gshope(北京.Net) 能详细点吗?JS:
    __doPostBack('CreateDir', '');写在那个地方啊?
      

  4.   

    可能是我的问题不够清楚
    下面详细描述一下:
    我在一个页面加载的时候,利用Javascript脚本通过调用一个组件,得到客户机器上的一些信息,同时,要把这个信息用服务端的一个方法通过调用WebService写到数据库中,整个这个过程只是在加载页面时完成,不能通过点击什么按钮等操作。各位有办法吗?
      

  5.   

    写在aspx里,<script language="javascript">........</script>
      

  6.   

    好像不行啊
    dopostback后又会调用page的onload
    我的dopostback是放在page的onload里面的,会循环的刷新的
      

  7.   

    下面的例子是在客户端用 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><div id="divWSBehavior" style="DISPLAY: none; BEHAVIOR: url(webservice.htc)"></div>
      

  8.   

    已经到了客户端,如果不再request或者post的话,就别想调用什么server端的方法了。
      

  9.   

    你要读取客户端的信息在后台调用HttpContext.Current里的函数
    然后接着调用WebService
      

  10.   

    HttpContext.Current??
    什么意思啊?