易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.NET画面跳转实现及其传值问题解决方案


本文介绍了ASP.NET画面跳转的实现以及其传值问题的解决方案。画面跳转和传值问题,一直以来都在困扰着刚刚接触asp.net web应用程序的开发者,希望本文能对初学者们有所帮助。
画面跳转和传值问题,一直以来都在困扰着刚刚接触asp.net web应用程序的开发者,现罗列跳转方法和传值方式供大家参考;因为我本身参与的项目功能也比较单一,对此可能认识比较狭隘,希望各位多给提示帮助我进步。此文为我项目组新近员工解惑同时与各位交流共勉。
asp.net web画面跳转的方法如下:
1.Server.Execute
Server.Execute并不能完全算是画面跳转方法,它是实现动态调用页面并渲染其内容反映到当前页面的方法,之所以放在这里是想与Server.Transfer等做一个比较。使用场景主要是有“包含”关系的页面进行动态调用的时候,例如WebForm2.aspx作为WebForm1.aspx的一部分表示在后者的画面中,则可通过在WebForm1适当的位置声明< % Server.Execute("~/WebForm2.aspx") %>实现。
2.Server.Transfer
最节省资源的画面跳转方式,可保存前画面的URL查询字符串和表单信息,可在跳转目标画面中使用PreviousPage查询跳转前画面属性。Server.Transfer过程中没有发生HTTP请求,所以不会被HTTP Module和HTTP Handler捕捉到,无法写处理器;其本质是在服务器端直接进行页面“切换”,所以也就有客户端URL显示不正确,引发一系列的问题,如:URL相对路径问题、Sitemap问题等。
3.Response.Redirect
此命令将直接在次返回到客户端通过URL重定向到跳转目标页面,比Server.Transfer多了一次客户端和服务器端之间的往返,因为是纯粹URL重定向无法保存前画面状态,传值一般使用URL查询字符串或Session传值。
4.PostbackUrl属性
以HTTP POST方式请求下一个画面,可以保存跳转前画面状态,问题是POST发生于客户端,无法在服务器端实现验证和取消跳转的逻辑。
5.HTML链接
URL重定向,缺点与PostbackUrl一样发生在客户端只能通过URL查询字符串进行传值。
asp.net web画面跳转的传值方法如下:
1.URL传值
因为URL长度限制,所以无法传送大量数据。对于敏感数据需要进行加密。
2.表单HTTP POST传值
以HTTP POST方式将表单属性传回到服务器端,能够保存前画面状态,可以通过PreviousPage属性进行查询。
3.PreviousPage属性传值
其实就是使用Server.Transfer和HTTP POST方式的画面跳转会把表单内容推送到服务器端,所以跳转后可以通过此属性获得前画


相关文档:

在ASP.NET中,字符串的分割简单示例

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string str = "123456789";
        //string str1 = Eval("str").ToString ......

ASP.NET MVC小论

前言
      ASP.NET MVC作为微软官方的.NET平台下MVC解决方案,自诞生起就吸引了众多.NET平台开发人员的眼球。在经历了漫长Preview后,上个月微软终于发布了其beta版。应该说,通过我亲身实践,我认为这个框架的设计还是相当优秀的,至少从易用性来说,ASP.NET MVC要优于Java平台上的Struts和Str ......

新手如何学习c#、asp.net、ado.net和.NET

新手如何学习c#、asp.net、ado.net和.NET
   如果你已经有较多的面向对象开发经验,跳过以下这两步:
   第一步 掌握一门.NET面向对象语言,C#或VB.NET。
   在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。
   ASP.NET是一个全面向对象的技术,不懂OO,那绝对学 ......

asp.net合并excel

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb; //导入命名空间
using System.IO;
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection;
using System.Data;
usi ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号