【asp源码栏目提醒】:网学会员在asp源码频道为大家收集整理了“ASPNET应用程序中网页重定向及其数据传递技巧 - 计算机理论“提供大家参考,希望对大家有所帮助!
信息科学耐裂崔毫应用程序中网页重定向及其数据传递技巧’武光明武警工程学院电子技术系。
陕西西安摘要在应用程序中经常需要将用户重定向到应用程序的其他页。
分析了应用程序的特点探讨并总结了在网页中生成重定向的方式及其在网页之间传递数据的技巧。
关键词网页重定向跨页发送数据传递应用程序的特点相对于传统的基于客户端的应用程序应用程序具有自己显著的特点无状态执行。
当服务器接收到对某页的请求时首先会找到该页对其进行处理将其发送到浏览器然后丢弃所有页信息。
如果用户再次请求同一页服务器则会重复整个过程从头开始对该页进行重新处理。
换言之服务器不会记忆它已处理的页即页是无状态的。
客户端与服务器的分离。
在应用程序中客户端浏览器和服务器是不同的程序它们通常在不同的计算机甚至不同的操作系统上运行。
因此共同组成应用程序的这两个部分仅共享很少的信息它们可以进行通信但通常只交换很啵的简单信息。
基于以上特点。
给应用程序编程。
尤其是网页之间的数据传递带来—些困难如果处理不当将会带来预期不到的结果。
另外州应用程序同早期的应用程序相比—个最大的改进就是它是基于事件驱动的编程模型新增了—些面向对象的特性这又给网页之间的数据传递带来了新的特性。
网页重定向方式超链接。
可以在州’网页上使用标记来创建静态链接也可以通过使用控件以编程方式控制超链接的链接文本和目标其特点是在目标页上执行新的请求目标页使用命令进行调用不会将与源页有关的任何信息传递到目标页除非在目标页的上指定查询字符串如果源页和目标页位于同一应用程序中它们可以使用会话状态或应用程序状态来共享信息可重定向到任何页而不仅仅是同一应用程序中的页。
使用浏览器以编程方式重定向。
在服务器代码中可以通过调用方法以编程方式重定向。
该方法向用户的浏览器发送命令由浏览器发出对目标页的命令。
调用服务器方法是单击超链接的编程等效形式也会生成对目标页的新的请求。
其特点是提供对目标和查询字符串的编程控制和动态控制能够重定向到任何页而不仅仅是同一应用程序中的页如果源页和目标页位于同一应用程序中则可以通过添加服务器代码将数据存储在会语状态中在源页和目标页之间共享数据。
”跨页发送。
默认睛况下网页中的按钮将该页发送到其本身。
在某些情况下可能需要将—个页发送到其他页。
典型的示例是在创建多页窗体时可以在页上配置按钮来移动到窗体的下一页或一页。
在跨页发送中目标页使用册命令调用该命令会将源页上控件的值发送到目标页。
其特点是它将当前页信息发送到目标页使发送信息在目标页中变为可用可重定向到任何页而不仅仅是同一应用程序中的页如果源页和目标页位于同一应用程序中则目标页可以访问源页的公共属性也可以使用会话状态或应用程序状态来共享信息。
服务器传输。
在服务器代码中可以通过调用方法在服务器上以编程方式重定向到目标页。
在此情况下服务器只是将当前源页的上下文传输给目标页然后将目标页呈现在源页的位置。
其特点是源页和目标页必须位于同一应用程序中目标页能够从源页中读取控件值和公共属性值不会用目标页的相关信息来更新浏览器信息。
由于源页和目标页之间的传输在服务器进行浏览器没有任何关于更改后的页的信息也不会更新浏览器的历史记录以反映传输过程。
因此对于以隐藏的方式向用户呈现页面的应用程序而言调用方法是一种最佳的策略。
在网页之间传递值的技巧更多的应用程序需要从—个网页蓐定向到另—个网页并将信息从源页传递到目标页。
由于重定向的方式不同。
在网页之间传递信息的方式也不同。
结合应用程序的特点大体包括以下方式使用查询字符串。
查询字符串可将信息追加到目标页的上。
使用控件或使用方法以编程方式重定向到其他页时都可以使用查询字符串。
即使这些页不在同一个应用程序中也能使用查询字符串传递值如果要将信息传递到非网页的页中也可以采取这种方式。
如果目标页是一个网页则可从对象的属性中读取查询字符串的值。
值得注意的是由于查询字符串中的信鼠对用户是可见的很容易被修改会带来潜在的安全风脸因畛啾用查询字符串传递敏感数据。
使用会话状态存储信息随后从当前应用程序的所有网页中访问这些信息。
使用这种方法会占用服务器内存并且其信息将在会话过期之前一直存储在内存中因而与直接向下一页传递信息相比其系统开销更大。
”在目标页上直接读取源页中控件的值或公共属性值。
此策略适用于两种情况当源页跨页发送到目标页时当调用方法在服务器上将执行从源页转到目标页时。
只有当源页和目标页位于同—个出应用程序中时才能在目标页中读取源页属性。
如果源页和目标页不在同一个应用程序中则可以在目标页中读取源页的发送的值。
如果目标页是烈网页但源页不是则也可以使用此技术。
由于受早期应用程序的影响不少开发人员习惯使用会话状态和查询字符串在页面之间传递信息这都没有充分利用应用程序基于事件驱动的编程模型及其面向对象的特性。
并且过多的使用会话状态或者在会话状态中保存大量数据将会占用大量的服务器内存随着访问用户的增加其系统开销将急剧增加。
另—方面在版本之前的中查询字符串的长度限制为个字符。
如果超过个字符则可能会导致错误或者查询字符串中的数据可能会被截断或者不随请求发送。
基于以上原因。
在同一应用程序的不同页面之间传递信息时有以下建议最好不要使用会话状态即。
原来使用会话状态的地方可以在源页中添加公共属性由目标页直接读取或者通过配置服务器控件使用跨页发送的方式传递数据。
尽量少使用查询字符串。
由于受查询字符串长度的限制。
并且出于安全方面的考虑同时又兼顾使用方便的原则在需要使用查询字符串时最好不要使用太多的查询字符串。
在通过编程方式使用查询字符串时尤其是使用数据库中的数据填充查询字符串时不要使用不可预期长度的数据。
使用公共属性时在源页上创建的属性通常是只读属性。
并且尽昔只将需要的信息作为公共属性公开以减少可能被潜在的恶意用户使用的信息量。
在传递数据时配合成员资格和角色管理及其受保护的配置等特性使用。
确定调用网页的方式出于编程的需要有时候有必要了解调用网页的方式。
对于目标页而言可能是原始请求页也可能是跨页发送调用的页或者要处理回发数据等。
类公开了可用于确定页调用方式的属性集、、、。
当目标页可能被多种方式调用时这些属性非常有用。
通过分析不同调用方式及其属性集的取值总结以下调用方法。
在实际的项目开发中更多时候并不需要这么多的分支。
实际应用中只需要注意属性的判断不要遗漏即可。
跨页发送【下转页万方数据科赫文
上一篇:
用户界面设计模式的代码自动生成
下一篇:
经典感言