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

js 怎么调用C# 写的WebService?
其实很简单,我在页面上想用javascript调用用C#写的WebService,调用后台的方法也行。我就是不知道怎么调用。我用的时vs2005,

------解决方案--------------------
WS就是WebService类
JScript code

function ins()
{
    var item=document.getElementById("txtItem").value;
    var kind_id = document.getElementById("ddlKind").value;
    var bol = Watabe.Shanghai.Albumfoundation.WS.insert(item,kind_id);    
    
    binditem();
    
}

------解决方案--------------------
CSDN - 文档中心 - .NET 阅读:861 评论: 0 参与评论
  
标题 javascript 调用 WebService的方法 选择自 yangyifan0 的 Blog
关键字 javascript 调用 WebService的方法
出处
 
[WebMethod]
public int DoMulti(int num1,int num2)
{
int result;
result = num1 * num2;
return result;
}
<%@ Page language="c#" Codebehind="Javascript.aspx.cs" AutoEventWireup="false" Inherits="WebTest.Javascript" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>Javascript</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
<script language="javascript">
function doMul(){
service.useService("http://localhost/WebServiceTest/Multi.asmx?wsdl","DoMultiService");
var parm1 = Form1.all.mul1.value;
var parm2 = Form1.all.mul2.value;
service.DoMultiService.callService(callback,"DoMulti",parm1,parm2);
}

function callback(res){
if (!res.error)
Form1.all.retValue.value=res.value;
else
Form1.all.retValue.value='ERR';
}
</script>
</HEAD>
<body>
<div id="service" style="BEHAVIOR:url(webservice.htc)"></div>
<form id="Form1" method="post" runat="server"><FONT 
face=宋体><INPUT type=text id=mul1 name=mul1>*<INPUT type=text id=mul2 name=mul2><INPUT style="WIDTH: 50px" onclick=doMul() type=button value="="><INPUT 
type=text id=retValue name=retValue></FONT>
</form>

</body>
</HTML>
其中 webservice.htc 需要另外下载 
http://msdn.microsoft.com/workshop/author/webservice/webservice.htc 



作者Blog:http://blog.csdn.net/yangyifan0/ 

------解决方案--------------------
1 首先你得确定你的webservice运行正常,如何确定了?你用你的浏览器输入http://web路径/webservicename.asmx
如果没有错误并且出现对于你的webservice相关函数的解释性文字
2 你的webservice方法具有下面两种属性么?[WebMethod]标签? public修饰符?
[WebMethod] 
public int DoMulti(int num1,int num2) 

int result; 
result = num1 * num2; 
return result; 

3 service.useService("http://localhost/WebServiceTest/Multi.asmx?wsdl","DoMultiService");
使用类似这样的引用webservice语句没有?
4 你实在不会弄,方便给出你的全套代码么?


------解决方案--------------------
命名空间是默认的就行
service.useService("http://localhost/WebServiceTest/Multi.asmx?wsdl","DoMultiService");