利用AjaxPro实现cell插件与服务器的数据交互

构建高交互Web应用:AjaxPro入门与示例 本文还有配套的精品资源,点击获取 简介:AjaxPro是一种在.NET环境下利用JavaScript和.NET Framework开发高度交互式Web应用程序的库。它通过异步更新技术,使页面无需全刷新即可与用户交互。本示例项目展示了在***应用中集成AjaxPro的过程,并提供了一些实用的开发建议和注意事项。 1. AjaxPro简介与优势 AjaxPro概... 阅读详情

Cell插件是纯客户端的控件,如何从服务器读取数据并设置到Cell,以及提取Cell中的数据并提交到服务器,这两个问题是我们今天需要探讨的。

         今天,我们探讨使用Ajax技术来实现这两项需求的解决方案。

简单介绍:

Ajax(Asynchronous Javascript and XML)应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其他一些基于XML的Web Service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多处理工作可以在发出请求的客户机上完成,所以Web服务器的处理时间也减少了。

使用Ajax编程时有很多麻烦事。如果你要支持多个浏览器(现在还有谁只支持一个浏览器呢?),无疑会遭遇不兼容问题。单看一个简单的动作,比如说创建XMLHttpRequest对象的一个实例,这需要先进行浏览器测试。一旦开始尝试使用Ajax技术,你很快就会注意到要反复地完成同样的一些任务。当然,你可以收集一些常用代码库,甚至创建自己的框架。不过,做这个工作之前,需要先了解一下现在已经有些什么了。

与所有优秀技术一样,Ajax已经催生出大量框架,有了这些框架,我们实现起来就简单多了。

目前比较流行的Ajax框架有:

Microsoft Ajax

AJAX.net

Echo2

MagicAjax

…….等等。

今天,我们介绍一种使用AjaxPro的来实现这我们的需求。AjaxPro也就是AJAX.NET (Professional), 它是ASP.NET平台上著名的AJAX框架,诞生于2005年2月(虽然正式命名为AJAX.NET则是在两个月之后),作者为Michael Schwarz。同年10月,Michael为AJAX.NET提供了更丰富的功能(主要是安全性方面),并将其改名为AJAX.NET Professional。AJAX.NET提供的最主要的(也是唯一)的功能就是异步调用服务器端方法,可谓非常纯粹的“基于数据”的AJAX使用方式。这个框架是一个个人作品,有支持.NET 1.1和2.0的版本,它并不属于微软官方,目前已经停止更新。里面的两个dll, ajaxpro.dll 是用于.net 1.1 版本的组件 AjaxPro.2.dll 是用于.net 2.0的。

配置:

1.   在Web.config中:

< add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>

2.      调用服务器方法需要加命名空间,

<% Page language=”C#” CodeBehind=”Default.aspx.cs” AutoEventWireup=”false” Inherits=”Web.Default”%>

 

3.         客户端调用方式

 

var response=web.default.GetServerMethod();

alert(response.value);

具体使用步骤:

接下来,简单的介绍它的用法:

1.   在项目中添加引用,浏览找到AjaxPro.2.dll。

2.   在Web.Config中的System.Web里面写入以下代码:

<configuration>

      < system.web>

           < httpHandlers>

< add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>

          </ httpHandlers>

      </system.web>

</configuration>

3.   编写服务器端方法,只要给一个方法加上[AjaxPro.AjaxMethod]标记,该方法就变成一个AjaxPro可进行影射调用方法。

//在后台写服务器端方法,用于从数据库取出数据并返回给客户端

namespace fisha. DAL

{

      public class PersionDao

{

      //标识为可用的ajax方法,才可以在客户端被调用

      [AjaxPro. AjaxMethod]

      Public DataTable getDataFromDB()//从数据库读取数据集

{

           ……读取数据逻辑…………

           Return dt;

}

[AjaxPrp.AjaxMethod]

Pulblic void saveDataFromCell(string xmlstr)//分析数据集字符串并保存到数据库

{

           ………分析xml字符串并保存到数据库…….

}

}

}

4.   对AjaxPro在页PageLoad事件中进行运行时注册。

 

public class default:Page

{

      Protected override void OnLoad(EventArgs e)

{

      AjaxPro.Utility.RegisterTypeForAjax(typeof(fisha.DAL. PersionDao), this.Page); //注册上面的类在本页面,才可使用里面的方法

}

}

 

5.   编写前段客户端调用代码

======Default.aspx代码======

引用cell插件:

<object id=”Cell1” Classid=”clsid:D69CD8A2-C02E-44DC-872D-A901FF75005F” CodeBase=”CellWeb.cab” width=”500px” height=”450px”>

      <span style="color:red">不能装载文档控件。请在检查浏览器的选项中检查浏览器的安全设置。</span>

</object>

引入bttuon控件:

<button id=”btnRead” onclick=btnRead_onclick>读取数据</button>

<button id=”btnSubmit” onclick=btnSubmit_onclick>保存</button>

书写读取数据按钮的click事件进行数据读取:

<script language="javascript" type="text/javascript" > 

      function btnRead_onclick()

{

         //调用服务器端写好ajax方法得到数据集(调用方式:命名空间.类名.方法名)

var res=fisha.DAL.PersionDao. getDataFromDB ().value;

          //获取当前cell对象

var cell=document. getElementById(“Cell1”);

       //获取cell当前页

var cursheet=cell.GetCurSheet();

           if(res)

           {

                 //res是服务器返回的一个datatable集合

                 for(var i=0;i<res.rows.length;i++)

{

    For(var j=0;j<res. Columns.length;j++)

{

         //往cell中填充值

    Cell. SetCellString(j,i,cursheet,res.rows[i].columns[j].value);

}

}

}

     

}

function btnSubmit_onclick()

{

           //获取当前cell对象

           Var cell=document. getElementById(“Cell1”);

           //获取cell的当前页

           Var cursheet=cell.GetCurSheet();

           //遍历cell当前页,读取单元格的值

           for(var i=0;i<cell.GetRows(cursheet);i++)

{

           for(var j=0;j<cell.GetCols(cursheet);j++)

{

fisha.DAL.PersionDao. saveDataFromCell(j,i,cell,GetCellString(j,i,curshee());

}

}

}

</script>

这样,就实现了cell插件与服务器之间数据读取与写入的功能。

cellweb5 华表插件 cellweb5 华表插件,亲测可用,走过路过不要错过,价美物廉 立即下载

相关推荐

Cell 报表插件5.3.8.0620

内容 Cell 插件的核心文件 包括cell插件 cab分发包 帮助文件 加密狗驱动文件 Cell组件(Activex 控件,扩展名为OCX)主要适用于开发windows应用程序,是为商业软件解决实际开发过程中的图表、报表显示,输入,打印输出等问题的最理想的解决方案。可在VC, VB, Delphi, PB,VFP,C++ Builder等开发工具下使用。采用Cell组件可以极大的减少软件开发工作量,改善软件人机界面,提高软件质量。非专业开发人员采用Cell组件将可以开发出专业的应用软件,而专业的开发人员采用Cell组件更是如虎添翼,可以更快地进行应用软件开发。 Cell插件具有与Cell组件类似的功能,但与Cell组件不同,Cell插件用于开发Web应用。支持html,Asp,Jsp,VBScript,JavaScript等语言。Cell插件的接口均经过精心设计,其代码也经过多次提炼,尽量减小其大小,以适应在Interenet环境中分发。 报表二次开发工具

网页ActiveX插件 cab包的更新

 服务器软硬件的升级,需要在客户端重新在Web下载打包成cab的ActiveX插件,网页里的代码写上了#version=2,2,2,2,网页就能弹出对话框下载插件,但就是没更新成功。下一次继续提示下载插件。分析浏览器辨别到版本的更新,但是没安装成功。折腾了一上午,又签名cab,又更改CLSID ,都不得其法,最后在inf文件加上版本FileVersion=2,2,2,2,问题解决。

你的专栏 1376

CellWeb5.cab

用友华表的Cell cab包,用于报表制作,或样式打印

ASP.NET中的AJAX应用开发总结

11 月21日晚7点应邀在武汉大学信息学院做了一场关于 ASP.NET 下 AJAX 开发的报告,以我自己经历讲述了一些特殊应用在过去到现在实现手段的变化,本来想回家之后做个总结的,但是由于最近以来事情一直很多,所以没有来得及总结。今晚得以有空总结一下。 AJAX 介绍 其实 AJAX 应用的核心就是 XMLHttpRequest ,通过现象看本质,即使使用微软的 AJAX 服务器控件最终也

qiheju的专栏 655

在Cell插件中如何实现客户端与服务器端数据交换

用友华表的CELL插件也是一款基于ActiveX技术的解决中国式报表显示和打印的第三方控件,但是第三方ActiveX控件只能运行在客户端,直接处理客户端数据,而客户的数据都存放在服务器端,这势必要求客户端的ActiveX控件与服务器端进行数据交互。那么如何在Cell插件中实现客户端与服务器端数据交换呢?

超详细网安学习路线(Day1-Day2)

渗透测试(Penetration Testing),就是一种通过模拟恶意攻击者的技术与方法,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响后果安全隐患的一种安全测试与评估方法。简单来说,就是合法去入侵别人的系统,来帮助其找出漏洞,增强防护能力。

aobulaien001的博客 3392

ASP.NET AjaxPro的应用 .AjaxPro使用中“XXX未定义”的一种解决方法(转载的)

ASP.NET AjaxPro的应用 1、首先下载AjaxPro组件。并将AjaxPro.dll引用到网站(或项目)。 2、修改Web.config。在 <system.web> 元素中添加以下代码。 <configuration> <system.web> <httpHandlers> <!-- Register the aj...

weixin_30663391的博客 299

写给小白的“具身智能”入门科普

智能”,大家都懂,也就是AI。那么,什么是“具身”?“具身”是一个很小众的名词,通常都出现在哲学、认知科学领域。它的英文叫Embodied,是embody的过去式和过去分词。em-表示“进入,使……”,-body表示“身体”。组合起来,就是“使……进入身体”。Embodied Intelligence(具身智能),顾名思义,就是“使智能进入身体”、“给智能一个身体”的意思。那么,具身智能,是不是就是“AI+身体”呢?这样说并不准确。

欢迎来到我的博客 1824

asp.net 利用 ajaxpro.2.dll 实现客户端调用后台事件

第一步: 在BIN 里面添加引用 ajaxpro.2.dll 第二步: web.config 里加入下面代码 <location path="ajaxpro"> <system.web> <httpHandlers> <add verb="*" path="*.ashx" type="A...

weixin_34107955的博客 112

51单片机AHT20-21源代码

传感器输出经过 标定的数字信号,标准 I 2 C 格式。AHT20 配有一个全新设计的 ASIC专用芯片、一 个经过改进的MEMS半导体电容式湿度传感元件和一个标准的片上温度传感元件,其 性能已经大大提升甚至超出了前一代传感器的可靠性水平,新一代温湿度传感器, 经过改进使其在恶劣环境下的性能更稳定。但是现在网上的大多数原码都是针对stm32等的这种多位单片机,而我们都知道51单片机是8位单片机,无法对浮点数进行运算,对32位的整数计算有时候也不是很准确,所以我对网上stm32的例程进行了修改。...

wd0710的博客 4549

从光耦隔离到稳定驱动:信捷伺服与STM32的硬件设计陷阱与救赎

本文深入探讨了信捷伺服驱动器与STM32微控制器配合时的硬件设计关键问题,包括光耦隔离电路选型、电源电压选择、拨码开关设置等核心环节。针对伺服驱动器的稳定驱动需求,提供了从电路设计到抗干扰策略的完整解决方案,帮助工程师规避常见陷阱,提升工业控制系统的可靠性。

gold8的专栏 312

华表组件在系统“组件服务”中看不到的问题

华表组件(CellCtrl5.ocx)在老的系统中有使用,最近需要在IIS导出PDF。 结果发现卡死在导出PDF函数处,原因是Windows2008 server默认禁止后台服务与前台交互。 找了一些文档,都说需要在"组件服务"中设置标识为交互用户,可是打开“组件服务”根本看不到华表组件。 原因是注册表条目缺失,需要把下面的文件导入注册表: Windows Registry Editor...

net_wolf的专栏 1689

大数据运营可视化:Tableau+PowerBI数据看板搭建教程

当企业数据量从“GB级”跃升到“TB级”,运营人员面临的最大挑战不再是“如何收集数据”,而是“如何让数据说话”。数据看板作为“运营指挥中心的仪表盘”,能将零散的用户行为、业务指标、流量趋势浓缩成可快速解读的视觉语言。本文结合Tableau(自由探索的“数据瑞士军刀”)与PowerBI(微软生态的“组合家具”)两大工具,从需求分析→数据准备→指标设计→视图搭建→ dashboard 组合,一步步教你搭建符合业务逻辑的运营看板。

AI智能探索者的博客 1367

AjaxPro.NET使用,方便的在客户端直接调用服务端方法

(一). 运行效果如下: (二). AjaxPro.NET简介 AjaxPro.NET是一个优秀的Ajax框架, 在实际应用中只要添加其DLL引用并进行简单的配置, 即可以非常方便的在客户端直接调用服务端方法, 实现验证目的. (三).使用AjaxPro.NET预配置 1. 添加 AjaxPro.dll 文件的引用(示例代码中已经包含,直接COPY过来使用即可). 2. 在Web.config文件中添加以下配置, ...

zp19860529的博客 410

YOLO11改进-注意力-引入自调制特征聚合模块SMFA

SMFA(自调制特征聚合模块): SMFA模块用于协同建模局部和非局部信息,它分为两个分支:一个是EASA(Efficient Approximation of Self-Attention,简化的自注意力分支),用于捕获非局部信息;另一个是LDE(Local Detail Estimation,局部细节估计分支),用于捕获局部细节。EASA通过对输入特征进行下采样,然后利用全局特征的方差进行调制,再与原始特征进行聚合,提取非局部结构信息。LDE分支则通过卷积操作提取输入特征中的高频局部信息。

qq_64693987的博客 2208

OCR文字识别基础

ocr文字识别

m0_47405013的博客 1755

用友华表Cell组件/插件注册

 今天打印报表遇见红叉叉,很不爽啊。我用的是用友华表,开始以为是忘了安装插件但是像我这么细心的人怎么会犯这种低级错误呢,O(∩_∩)O~然后重装华表也没有解决问题,本着我不知百度知的态度去百度搜,还真让我找到解决办法了。在华表官方论坛上找到了解决方法,地址是http://www.cellsoft.cc/bbs/dispbbs.asp?boardID=1&ID=15204&page=

ilovejsj001的专栏 8795

C#联合Halcon机器视觉框架源码—升级版

相较于之前的NxtVision,本软件代码架构更加合理,且新增。对源码有需求的,订阅本专栏后,私信我领取。、原来的vb脚本改为。

Z's Palace 1417

cell组件

操作表格试用一下 友华表cell组件 ,使用前需下载安装。 用visual studio打开.rc文件显示在对话框,右键选择 “插入ActiveX控件(X)”》cell50control(U) 为cell控件绑定变量m_cell void SetCellColorTest(CUfSoftCell2000 &cell) { cell.SetCols(3, 0); cell.SetRows(1, 0); cell.ShowSheetLabel(0, 0); cell.SetSelectMode(

weixin_42331112的博客 2111

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

0.4 文件与文件夹:数据是怎么存放的,一篇讲清目录树

电脑里几万个文件怎么归类?本文讲清文件是有名字的数据单位、文件夹(目录)是可层层嵌套的收纳容器,二者共同构成目录树,最顶层是根目录;建立字节/KB/MB/GB 的大小直觉,介绍 Linux 一切皆文件的设计;用一张表讲清复制、移动、重命名、删除的区别,以及 Delete 进回收站、Shift+Delete 永久删除的差异;最后从安全视角讲文件上传(伪装脚本上传即 WebShell)与路径穿越(ZipSlip 把文件写到敏感位置),提醒凡是文件读写都要警惕路径被操纵。

一个安全白帽子的成长记录:Web 安全、漏洞复现、内网渗透。完整目录在 gysec.top 259

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

LangGraph 本地 build 频频翻车,最终在服务器跑通流式对话

先说结论:我本地那个,一次都没成功过。三次,三次,全挂在拉镜像上。而顺得像刚上过油。这就很像我高中那辆自行车:骑着能走,一上锁就坏。那天晚上我盯着终端里那行红字看了很久,想的不是技术方案,想的是——为什么同一个工具,可以一边让我觉得自己很行,一边让我觉得自己不太行。

人工智能AI技术 321

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

自建 Git 服务器和裸仓库差在哪:要能提合并请求

在一台 Linux 上 git init --bare 就能自建 Git 服务器,但它只能推拉代码,没有网页、合并请求、评审和按仓库分配的权限。对照裸仓库和 AngusGit 各自能做什么,再走一遍在 AngusGit 上发起合并请求的最短路径,以及已有裸仓库怎么完整搬过来。

AngusTester 336

VSCode_RemoteSSH_一直卡在下载服务器_解决教程

解决VSCode远程一直卡在下载服务器

m0_69395553的博客 149

Linux epoll 一篇讲透:从 select/poll 到红黑树、LT/ET,再到完整 TCP 服务器

一万个客户端已经连上服务器,眼下只有十个客户端发来了数据。服务器怎样把时间花在这十个连接上?理解这个问题,就抓住了 epoll 的主线。接下来,我们沿着“为什么需要它 → 接口怎么用 → 内核如何实现 → LT/ET 怎么写 → 完整服务器怎么运行”的顺序,把知识连起来。**阅读基础:**了解socketbindlistenaccept的基本用途即可。本文示例面向 Linux,服务器使用 C++17,实验脚本使用 Python 3。

2601_94861874的博客 461

宝塔装在服务器上,极目装在本机,差别到底在哪

宝塔 极目 装服务器 装本机 区别,不是比谁好用,是比"软件落在谁的账上"。宝塔的端口、资源、维护都记在服务器;极目这些都落在你电脑,服务器保持和纯 SSH 管理一样的干净。想保护服务器资源和安全面,选装本机的方案;想浏览器点就完事,装服务器的面板也行。

AI_Lab01的博客 348

推理服务器的调度器:连续批处理与请求生命周期

推理服务器的性能上限不取决于模型,取决于调度器——同样的模型,换一个调度策略,吞吐可以差三倍。传统深度学习服务的静态批处理在 LLM 场景下完全失灵:请求的输出长度不可预知,短请求被长请求拖着浪费算力。这篇文章实现 LLM 时代的标准答案——连续批处理(continuous batching),并管理一个请求从到达到完成的完整生命周期。

2601_96733043的博客 205
上一篇: Cell公式解析(1)
下一篇: 简析产品开发过程管理之——软件测试
cellsoftware
博客等级 码龄18年 0粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值