151-3895-5886

结合ASP.NET与JavaScript开发电子沙盘

2019年09月11日 维尼网络

  摘 要 在基于B/S结构的网络信息系统开发中,结合ASP.NET与客户端的JavaScript脚本, 开发能与数据库进行交互的电子沙盘。沙盘中图标的参数存取由客户端与服务器交互完成,图标的移动和图标的信息浏览依靠客户端实现。新闻结合系统开发实例,详细阐述了这一办法的实现过程。

  Keywords ASP.NET JavaScript 电子沙盘

  引 言

  ASP.NET技术是用于Web开发的全新框架,它完全基于模块与组件,给Web开发人员提供更多的灵活性,是创建Web应用程序的有效工具。ASP.NET非常适用于开发动态的Web站点,使网页与用户之间不仅仅是显示和浏览的关系,而且还是动态交互的关系。大部份的交互任务都可由ASP.NET的服务器端代码来完成。笔者为某单位开发的B/S结构网络信息系统,除一般功能外,还需要非常设计地理模块。因其众多的下属子单位的地理位置会比较频繁地发生变动,而业务工作与地理位置的配置又有着重要关系,为此,要在系统中引入基于数据库支持的电子沙盘。使各级用户按权限查看和配置子单位在地图上分布。

  电子沙盘的基本原理是在以地图为背景的网页中生成多个可以移动的图标,每一个图标代表一个子单位。但在Web上仅靠ASP.NET来实现沙盘功能是比较困难的,因为它对交互性提出了更高的要求。这主要体现在两个方面:一是沙盘与数据库服务器的交互,这主要体现在沙盘数据在数据库中的存取;二是沙盘与用户的交互,这主要体现在用户在地图中移动图标(鼠标拖动动作)以及浏览图标的信息(鼠标点击动作)两个方面。在实际操作中,沙盘与用户的交互是比较频繁的,如果每一次动作都要求浏览器和服务器建立一次往返行程,必然会受到网速、服务器性能等因素的制约,从而延长用户操作的等待时间,降低沙盘的实用性。

  为此,要引入JavaScript技术,来满足这种实时交互的需求。JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。JavaScript脚本嵌入在网页中,运行时JavaScript代码和网页一起download到浏览器。当用户的一些操作不涉及到数据存取时,如移动图标与浏览图标信息这两项主要的沙盘操作,就可以由JavaScript脚本来实现,从而使用户、浏览器、服务器之间的三层交互变成了用户、浏览器之间的两层交互,有效提高网页反应的快速性和灵活性。

  设计思路

  本文所述的信息系统,以Windows 2000 Server+IIS5.0+.NET作为平台,采用ASP.NET+C#.NET构造程序框架, SQL Server 2000为后台数据库。针对该单位分为总部—分区—子单位三层结构,按行政级别规定了不同的权限:总部级用户具有对全部子单位的浏览权和调配权,分区级用户具有对本分区子单位的浏览权和调配权,子单位具有地理配置权。

  为尽量减少客户端与服务器的交互次数,电子沙盘的运行过程应分为三个步骤进行:第一步是在网页加载时,Web服务器从数据库服务器中提取图标参数(坐标值与基本信息),将JavaScript代码和网页一起download到客户端;第二步是由JavaScript脚本负责执行沙盘与用户的交互(配置图标与浏览图标信息);第三步是在用户选择保存设置时,Web服务器接收来自客户端的坐标值等参数,并赋值给数据库服务器的存储过程,由存储过程执行数据的保存。

  程序设计

  1、网页加载

  Web服务器根据用户ID从数据库中提取其所属的图标参数(坐标值和基本信息),再根据坐标值将图标定位在地图中,同时将图标基本信息写入网页代码。在网页加载完毕以后,生成的图标会配置在地图上的指定位置,且附带了基本信息。节选程序如下:

  private void Page_Load(object sender, System.EventArgs e) //初始化
  {
  if (!IsPostBack) //程序是否是第一次执行
  {
  string strConn=ConfigurationSettings.AppSettings["ConnectionString"];
  SqlConnection cn=new SqlConnection(strConn);
  SqlCommand cm9=new SqlCommand("sp_sketchmap",cn); //提取子单位名称及坐标值
  cm9.CommandType=CommandType.StoredProcedure;
  cm9.Parameters.Add("@unitid",SqlDbType.VarChar,50); //使用者单位编码
  cm9.Parameters["@unitid"].Value=Session["unitid"].ToString();
  cm9.Parameters.Add("@D1",SqlDbType.VarChar,50); //1号子单位名称
  cm9.Parameters["@D1"].Direction=ParameterDirection.Output;
  cm9.Parameters.Add("@D1A",SqlDbType.Int); //1号子单位横坐标
  cm9.Parameters["@D1A"].Direction=ParameterDirection.Output;
  cm9.Parameters.Add("@D1B",SqlDbType.Int); //1号子单位纵坐标
  cm9.Parameters["@D1B"].Direction=ParameterDirection.Output;
  cm9.Parameters.Add("@D1C",SqlDbType.VarChar,100); //1号子单位基本信息
  cm9.Parameters["@D1C"].Direction=ParameterDirection.Output;
  ……

  2、客户端操作

阅读更多内容
上一篇ASP.NET 2.0 中 Treeview 的Checkboxes 选中根 枝叶全选中的实现
下一篇asp.net 2.0 下的表单验证Cookieless属性

声明:本页内容由郑州维尼网络收集编辑所得,所有资料仅供用户参考,转载请保留此链接http://www.zzwn.cn/cms/1878.html

本文标签: ASP.NET 开发 javascript 结合 电子 沙盘

 

相关资讯 Related Info
相关分类 News Classification
解决方案 Solutions
相关热点 Hot spot
使用CSS2.1的多重背景效果和边框效 使用CSS2.1的多重背景效果和边框效
  1. 我们的承诺
  2. 我们的实力
  3. 我们的未来
郑州做网站咨询电话 建站咨询

151-3895-5886

网站备案安全放心网站

地址:郑州市上街区和昌都汇广场 / 电话:151-3895-5886
客服QQ: 7758021 / 邮箱:admin@zzwn.cn
Copyright © 2010-2019 郑州融科网络 版权所有