网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.ASP.NET 2.0 中 Treeview 的Chec.
..NET框架2.0里的aspnet_compiler.
.深入理解 ViewState.
.将Asp.net页面输出为HTML.
.使用ASP.NET AJAX框架扩展HTML M.
.一些常用的数据操作类.
.ASP.NET构架与安全机制之Http请求.
.如何在上传的图片上写字.
.动态改变asp.net网页的标题.
.ASP.NET Forums与现有系统整合方.
..net同站点多虚拟目录下的Sessio.
.Asp.net2.0:如何使用ObjectData.
.如何在.NET中访问MySQL数据库.
.利用模版生成html页.
.ASP.NET中上传下载文件.
.分享个极好的无刷新二级联动下拉.
.轻松加密ASP.NET 2.0 Web程序配置.
.vs2005打开项目提示System.Web.E.
.在Asp.net的HttpCookie中写入汉字.
..Net2.0 使用ConfigurationManag.

ASP.NET 2.0 中实现跨页提交

发表日期:2005-8-5


  在ASP.NET 1.x的时候,很多朋友可能需要进行跨页提交的处理,也就是从页面A能够提交到页面B,甚至不同的Control其目标处理页面也各不相同。尤其是从ASP/JSP/PHP转过来的开发人员,可能更有这种需求。但很不幸,在ASP.NET 1.x的时候,处理这种跨页请求是十分丑陋的,需要非常多的“技巧化”处理。

  在ASP.NET 2.0的时候,对于跨页提交已经有了非常合理的解决方案,以下就是一个示例。

  SourcePage.aspx: 请注意Button1的PostBackUrl属性设置

<%...@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">...
    public string YourName
    ...{
        get
        ...{
            return this.TextBox1.Text;
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="Label1" runat="server" Text="请输入您的姓名" Width="183px"></asp:Label>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server"  Text="提交" PostBackUrl="~/TargetPage.aspx" /></div>
    </form>
</body>
</html>

  TargetPage.aspx:请注意PreviousPageType的属性设置

<%...@ Page Language="C#" %>
<%...@ PreviousPageType VirtualPath="~/SourcePage.aspx" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">...
   
    protected void Page_Load(object sender, EventArgs e)
    ...{
        this.Label1.Text = PreviousPage.YourName;
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="Label1" runat="server" ></asp:Label>
   
    </div>
    </form>
</body>
</html>
  OK,就通过这么简单的两个属性设置,就可以非常方便的得到跨页提交的特性。当然,您也可以根据您自己的需求,比如每个Control需要提交到不同的页面来进行更加复杂的设置。

上一篇:提高ASP.NET性能的方法 人气:10080
下一篇:asp.net StreamReader 创建文件 人气:9008
浏览全部ASP.NET的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐