zoukankan      html  css  js  c++  java
  • ASP.NET中的跨页发送

    默认情况下,ASP.NET 网页上导致回发的控件(如 Button 控件)会回发到当前页进行处理。但是,可以将控件配置为发送到其他页。
    设置方法是:将该控件的 PostBackUrl 属性设置为 ASP.NET 网页要发送到的页的 URL。
    例如:<asp:Button   ID="Button1"   PostBackUrl="~/TargetPage.aspx"   runat="server"  Text="Submit" />

    由于跨页发送是针对各个控件配置的,所以您可以创建一个可根据用户单击哪个按钮而发送至不同页的页。
    要判断某个页面是否为跨页发送,可以通过属性IsCrossPostBack.

    在实际的编程中,可能经常需要在跨页发送的目标页中获取源页中的某些信息,如控件值或公共属性,下面就介绍一下获取的方法。
    1:获取源页中的控件值
    如果源页和目标页位于同一 ASP.NET 应用程序中,则使用目标页中的 PreviousPage 属性获取
    if (Page.PreviousPage != null)
    {
        TextBox SourceTextBox =(TextBox)Page.PreviousPage.FindControl("TextBox1");
        if (SourceTextBox != null)
        {
            Label1.Text = SourceTextBox.Text;
        }
    }
    如果源页和目标页位于不同的 ASP.NET 应用程序中,则可以从Form集合中获取。(注:同一个应用程序中也可以使用Form集合)
    if (Request.Form["txtName"] != null)
    {
        Response.Write(Request.Form["txtName"].ToString());
    }
    2:获取源页中的公共属性
    若要获取源页的公共成员,必须先获取对源页的强类型引用。
    方法是在目标页中包含一个 @PreviousPageType 指令,该指令允许您指定源页
    <%@ PreviousPageType VirtualPath="~/SourcePage.aspx" %> 

    在源页中,使用如下语句公开了某个文本框的值:
    public String CurrentCity
    {
        get
        {
            return textCity.Text; //主要用于为跨页发送公开值的属性通常是只读属性
        }
    }
    在目标页中:
    Label1.Text = PreviousPage.CurrentCity;

     



  • 相关阅读:
    一、汇编基础知识
    PHP RabbitMQ消息队列演示代码
    PHP CentOS下安装PHP及部署ThinkPHP
    MySQL CentOS下安装MySQL
    ThinkPHP 对接支付宝支付接口
    ThinkPHP 获取当前页面完整的URL地址
    前端 Validform.js属性,用法及Ajax提交简介
    PHP 配置Xdebug调试工具
    ThinkPHP 原生分页功能改进,更好用更美观
    ThinkPHP 使用第三方phpmailer库发送邮件
  • 原文地址:https://www.cnblogs.com/lgzslf/p/1579959.html
Copyright © 2011-2022 走看看