快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

亚博平台手机网页网址_酒文化网进入



一、媒介

越来越繁杂的基于Web的新型办事,赓续冲击着我们已经习气了的传统Web利用。市场必要基于Web的利用体现能力加倍富厚,相应加倍敏捷,而使用异步技巧可以很好地满意了这种需求。它无需在客户端安装额外的软件并且可以供给高度交互的Web利用,给予用户加倍富厚的页面浏览体验。例如Hotmail邮箱界面的设计上就充分使用了异步技巧来增强用户体验,容许用户一次打开多个电子邮件,纵然在用户写邮件的环境下其邮件列表也能自动得到更新。在用户进行一些邮件的操作时,在提示用户正在加载的同时与办事端进行异步交互,从而加快了相应速率、增强了用户体验。而微软Virtual Earth中国团队推出的Live Search舆图办事结合了搜索引擎以及舆图浏览,基于异步要领来驱动对舆亚博平台手机网页网址图的操作并且供给了一种交互式的、可缩放的基于位置的搜索要领。别的,当我们造访某些网站进行用户注册的操作时经常必要填写种种各样的表单,某些网站为了防止多个用户注册同一个用户名必要验证该用户名是否被占用。当我们填写完用户名或者代号时,客户端异步地将用户信息通报给办事端进行验证,之后办事端将结果反馈给客户端页面,而用户可以继承履行自己的操作而无需等待验证完成。

跟着用户对付富厚的Web体验的需求日益增长,Ajax技巧风靡于各大年夜主流网站。在2007年头?年月,微软宣布了ASP.NET AJAX 1.0(Atlas) 并迅速成为微软事情的重点,着实现了与ASP.NET现有机制的无缝交融。微软不停致力于简化Ajax风格Web利用的开拓,并供给富厚的、可交互的和个性化的用户体验,并允诺往后的Internet Explorer中对Ajax支持是其要务之一,它将席卷Ajax的所有器械——DHTML、JScript和XmlHttp。实际上亚博平台手机网页网址Ajax并没有太多的革故鼎新,其采纳的是一系列已有的以致是颇为迂腐的技巧,把它们从新铸造、延伸,逾越其原有的观点,从而使开拓职员可以敷衍客户端法度榜样所要面对的繁杂环境。早在1998年前后Ajax技巧就获得了利用,微软的Outlook Web Access小组编写了一个容许客户端脚本发送HTTP哀求(XMLHTTP)的组件,该组件也迅速地作为了Internet Explorer 4.0的一部分。

Web开拓职员在进行网站开拓时经常必要设计具有父子或者从属关系的菜单,应用传统的Web开拓技巧开拓出的页面当用户做出选择某个菜单中的选项时会对页面进行刷新。这也就意味着客户端页面所有内容必要从办事器端从新天生并通报到客户端,是以页面信息通报时的滞后感很强,用户体验很不抱负。假如仅仅是在类似例如在用户注册时必要选择用户所属地的环境下大概这种滞后还不至于带来较严重后果。然则,在某些特定利用比如GIS利用法度榜样中,当这些级联菜单是作为舆图浏览的导航栏时,每次刷新页面将导致舆图的从新载入,这种价值将是高昂的,也是用户所无法忍受的。是以,为了应用户交互历程变得更为流通而继续,开分职员经常必要使用局部刷新技巧来避免页面整体的刷新。收集上对照常见的做法是使用微软官方所供给的ASP.NET AJAX Control Toolkit中的CascadingDropDown控件,然后自己编写一套供给对数据造访的接口来实现数据的绑定,从而实现菜单的级联更新。这种措施将XML款式的数据与控件进行绑定,可以简单、快捷的开拓出无刷新的多级联动菜单,然而同时也短缺必然的机动性,例如当开拓职员必要根据页面整体风格来改变默认的下拉框的样式将是对照艰苦的。本文提出措施的同样基于异步交互的思惟以及针对XML数据的读写,但所不合的是使用了HTML中的SPAN元素和DIV元向来模拟下拉菜单的效果,是以在CSS文件中可以从新定义它的样式以达到抱负的效果,同时还使用了DOM进行动态显示及交互。下面以全国行政区划的无刷新三级联动菜单的设计历程来具体阐明这种要领的详细实现。

二、天生XML数据文件

在.NET Framework中包孕了很多支持XML造访和操作的相关类,这些类为软件开拓职员供给了极大年夜的便利性,使得利用XML编程犹如理解XML文件一样简单。本文仅先容此顶用于天生XML的XmlWriter类的相关属性与措施。

WriteStartElement措施用于写出指定的开始标记;

WriteEndElement措施用于关闭一个元素并弹出响应的命名空间范围;

WriteAttributeString措施用于写出具有指定值的属性;

WriteStartAttribute措施用于书写属性的肇端内容;

WriteEndAttribute 措施用于关闭上一个 WriteStartAttribute 调用。

下面的代码将演示若何把DataSet中的数据导出到XML文件中并做出具体阐明。首先是定义一个类的静态措施DataSetToXML,其法度榜样实现思惟是先从DataSet中得到的省级数据,然后做轮回来得到每个省所包孕的地级市的数据,类似再做地级市数据的轮回来得到每个地级市所包孕的县(市)级数据。

///

/// 将DataSet中的数据导出到XML文件中

///

///

要导出的DataSet

/// 返回1表示措施履行成功,否则返回为-1

public static int DataSetToXML(DataSet dsSet)

{

//判断当前返回的D亚博平台手机网页网址ataSet是否为空,为空则返回-1

if (dsSet == null) return -1;

//对XML文件进行需要的设置

XmlWriterSettings settings = null;

settings = new XmlWriterSettings();

if (settings == null) return -1;

//设置相关属性值

settings.Indent = true;

settings.NewLineOnAttributes = false;

//创建XML文件

XmlWriter writer = null;

writer = XmlWriter.Create(@"C:Chinadomain.xml", settings);

if (writer == null) return -1;

//开始写文档

writer.WriteStartDocument();

//开始写标签

writer.WriteStartElement("China");

int i = 0, j = 0, k = 0;

//获取省级数据的动态数组

ArrayList provinceList = FindProvince(dsSet);

for (i = 0; i

{

int iCur = (int)provinceList[i];

writer.WriteStartElement("Province");

writer.WriteAttributeString("name", (String)dsSet.Tables[0].Rows[iCur].ItemArray[1]);

writer.WriteAttributeStrin亚博平台手机网页网址g("value", (String)dsSet.Tables[0].Rows[iCur].ItemArray[0]);

//查找当前省的所有地级市

ArrayList cityList = FindCity(dsSet, (String)dsSet.Tables[0].Rows[iCur].ItemArray亚博平台手机网页网址[0]);

for (j = 0; j

/// 查找省级数据

///

///

要导出的DataSet

/// 包孕省级数据的动态数组

private static ArrayList FindProvince(DataSet dsSet)

{

int i = 0;

//申请返回列表空间

ArrayList pResList = null;

pResList = new ArrayList();

if (pResList == null) return null;

//轮回查找省级数据

for (i = 0; i

/// 查找某个省的地级数据

///

///

要导出的DataSet

///

某省的国标代码

/// 包孕某个省的地级数据的动态数组

private static ArrayList FindCity(DataSet dsSet, String strProvince)

{

int i = 0;

//申请返回列表空间

ArrayList pResList = null;

pResList = new ArrayList();

if (pResList == null) return null;

//轮回查找地级数据

for (i = 0; i

/// 查找某个地级市的县级数据

///

///

要导出的DataSet

///

某地级市的国标代码

/// 包孕某个地级市的县级数据的动态数组

private static ArrayList FindDistrict(DataSet dsSet, String strCity)

{

int i = 0;

//申请返回列表空间

ArrayList pResList = null;

pResList = new ArrayList();

if (pResList == null) return null;

//轮回查找县级数据

for (i = 0; i

对付XML DOM 节点树来讲,可以经由过程它来造访所有节点,可以改动或删除它们的内容,也可以创建新的元素。本文重点叙述的是若何造访节点并读取此中的内容。

首先是加载并解析XML文件。所有今世浏览器都内建了用于读取和操作XML的XML解析器,经由过程将XML读入内存,并把它转换为可被JScript造访的XML DOM工具。此处将先容的是对照常用的微软的XML解析器加载XML的要领,其内建于Internet Explorer 5 及更高版本中。第一步是必要创建一个微软XML文档的    ActiveXObject类型工具。启用并返回 Automation 工具的引用语法为:

newObjName = new ActiveXObject(servername.typename[, location])

此中newObjName为变量名,servername为供给该工具的利用法度榜样的名称,typename为要创建的工具的类型或类,location为创建该工具的收集办事器的名称。

第二步是关闭异步加载,这样可确保在文档完备加载之前,解析器不会继承履行脚本。着末是加载详细的XML文档。比如下面的代码就创建了名为xmlDoc的ActiveXObject类型工具,将异步加载要领关闭并且加载了名为exp1的XML文档。

var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");

xmlDoc.async="false";

xmlDoc.load("exp1.xml");

接下来必要做的是造访节点,可以经由过程以下三种措施:

1)经由过程应用 getElementsByTagName() 措施,该措施用于获取带有指定标署名称的所有元素;

四、使用DHTML设计级联菜单

DHTML 是一种创建动态和交互 WEB 站点的技巧集。平日来说,DHTML 意味着 HTML、CSS样式表和 JScript 的组合。HTML用来定义网页元素,如段落、表格等。 CSS用来描述元素属性,如大年夜小、颜色、位置等。 脚本说话用来操纵网页元素和浏览器。是以,使用DHTML设计级联菜单自然也从三个方面入手。因为省级、地市级、县级级联菜单的设计措施类似,是以此处仅以省级菜单的设计为例。

省级菜单的HTML部分主要由一个暗藏的input、一个span以及一个div层三部分所组成。此中input用于存储当前选择的省份的国标代码;span用于显示当前选择的省份的名称,其上定义了鼠标的移入、移出以及单击事故;div层用来模拟下拉菜单效果。CSS样式部分主如果定义了div层的一些样式。

脚本部分主如果针对div层的一些鼠标操作的实现,核心代码及解析如下所示:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: