JavaScript调用WebService方法的实现思路与C#后端代码示例
作者:栖木时间:2026-10-27 08:15:59浏览:543
本文介绍如何通过JavaScript调用C#编写的WebServices接口,重点解析后端AddCollect方法的实现逻辑。代码展示了如何根据收藏类型标识(flag)区分产品、企业、电子样本及图册收藏,并调用对应数据提供者接口完成数据持久化。包含完整的C#服务端代码结构及参数处理细节,适用于需要实现收藏功能的前后端分离项目。
JavaScript调用WebService的实现背景
Web服务代码示例:
具体实现如下:
C# WebService服务端代码结构using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
using StoreHouse.Common;
using StoreHouse.IDAL;
using StoreHouse.Model;
using System.Data.SqlClient;
using System.Data;
using System.Xml;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Net.NetworkInformation;
/// <summary>
/// PageService 类的简要描述
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class PageService : System.Web.Services.WebService
{
ArrayList al = new ArrayList();
public PageService()
{
//若使用设计器生成的组件,请取消注释下行
//InitializeComponent();
}
/// <summary>
/// 执行添加收藏操作
/// </summary>
/// <param name="fid">产品ID</param>
/// <param name="sid">用户ID</param>
/// <param name="flag">类型标识(产品、企业、电子样本、图库收藏)</param>
/// <returns>返回收藏操作状态码</returns>
[WebMethod]
public int AddCollect(int fid,int sid,int flag)
{
IProductDataProvider ipdp = ProviderManager.Create<IProductDataProvider>();
IEnterpriseDataProvider iedp = ProviderManager.Create<IEnterpriseDataProvider>();
if (flag == 1)
{
ProductCollect pc = new ProductCollect();
pc.ProductID = fid;
pc.UserID = sid;
pc.AddDatetime = DateTime.Now;
pc.UpdateDatetime = DateTime.Now;
return ipdp.AddProductCollect(pc);
}
else if (flag == 2)
{
EnterpriseCollect ec = new EnterpriseCollect();
ec.EnterpriseID = fid;
ec.UserID = sid;
ec.AddDatetime = DateTime.Now;
ec.UpdateDatetime = DateTime.Now;
return iedp.AddEnterpriseCollect(ec);
}
else if (flag == 3)
{
EElecSampleCollect epesc = new EElecSampleCollect();
epesc.EElecSampleID = fid;
epesc.UserID = sid;
epesc.AddDatetime = DateTime.Now;
epesc.UpdateDatetime = DateTime.Now;
return ipdp.AddEElecSampleCollect(epesc);
}
else if (flag == 4)
{
EPAtlasCollect epac = new EPAtlasCollect ();
epac.EPAtlasID= fid;
epac.UserID = sid;
epac.AddDatetime = DateTime.Now;
epac.UpdateDatetime = DateTime.Now;
return ipdp.AddEPAtlasCollect(epac);
}
return 000000;
} 作者最新文章
NestJS 是什么?与 Express、Koa 的核心区别及选型建议
2026-11-05 13:46:41
生产环境升级 Node.js 的注意事项与兼容性测试策略
2026-11-05 09:19:24
nvm 常用命令详解:怎么平滑切换和升级 Node.js 版本
2026-11-04 09:02:34
JavaScript和JSP的根本区别:运行环境与执行机制解析
2026-11-03 23:30:18
使用nvm卸载指定版本Node.js并切换默认环境
2026-11-03 23:09:26
