日期:2014-05-18  浏览次数:21157 次

<script runat="server">
C# code
<script runat="server">
    void Page_Load(object sender, EventArgs e)
    {
        ServiceReference sr = new ServiceReference();
        sr.Path = "~/WebServiceSample.asmx";
        ScriptManager1.Services.Add(sr);
    }
</script>
<script type="text/javascript" language="JavaScript">

    function OnbuttonGo_click() 
    {
        requestSimpleService = WebServiceSample.EchoString(document.getElementById('inputName').value,OnRequestComplete);
        document.getElementById('inputName').value=
        return false;
    }

    function OnRequestComplete(result) 
    {
        alert(result);
    }

</script>


//WebServiceSample.asmx
[System.Web.Script.Services.ScriptService]
public class WebServiceSample : System.Web.Services.WebService {

  public WebServiceSample () {

  //如果使用设计的组件,请取消注释以下行 
  //InitializeComponent(); 
  }

  [WebMethod]
  public string HelloWorld() {
  return "Hello World";
  }
  public string EchoString(String s)
  {
  return "Hello " + s;
  }
   
}


///对象不支持此属性或方法?????

请问怎么回事啊??

WebServiceSample.EchoString(document.getElementById('inputName').value,OnRequestComplete);这里明明是带的两个参数为什么public string EchoString(String s)只需要一个啊???



------解决方案--------------------
up
------解决方案--------------------
一个是用于请求成功后,调用的JS方法,所以后台不用
------解决方案--------------------
js。。。。
有点像body和head得味道。。。

------解决方案--------------------
WebServiceSample.EchoString(document.getElementById('inputName').value,OnRequestComplete);
==
document.getElementById('inputName').value是给WebService的EchoString方法传递的参数
OnRequestComplete是说明客户端的回调函数,也就是当接受到服务器端响应后用哪个javascript函数进行处理


对象不支持此属性或方法
==
服务器端的EchoString方法没有加WebMethod特性
[WebMethod] 
public string EchoString(String s) 

return "Hello " + s; 
}