您现在的位置是:首页 >

获取对象的属性值的方法 获取源页的公共属性值

火烧 2022-03-20 19:57:35 1058
获取源页的公共属性值   重点总结  在ASP NET中 要想从目标页获取源页的数据信息 可以使用两种方法   一是通过获取源页的控件进而获取控件的属性值  二是直接通过获取源页公开的公共属性来获取源

获取源页的公共属性值  

  重点总结

  在ASP NET中 要想从目标页获取源页的数据信息 可以使用两种方法

  一是通过获取源页的控件进而获取控件的属性值

  二是直接通过获取源页公开的公共属性来获取源页数据

  本示例代码则演示如何通过获取源页的公共属性达到获取源页数据的目的

  为了达到这样的目的 必须要将Page PreviousPage属性引用的源页进行强类型的转换

  这可以通过为目标页添加@PreviousPageType指令 或者@Reference指令

获取对象的属性值的方法 获取源页的公共属性值

  一 @PreviousPageType

  示例代码

  本示例代码中 源页中包含一个文本框控件 以便用户可以输入自己的姓名 并且源页也包含一个名为UserName的公共属性 此属性返回的就是用户在文本框控件中输入的用户名

  源页的代码如下

   <%@ Page Language= C# AutoEventWireup= true CodeFile= SourcePage aspx cs Inherits= SourcePage %>

  

   <!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN transitional dtd >

   < xmlns= >

   <head runat= server >

   </head>

   <body>

        <form id= form runat= server >

        <div>

            <asp:TextBox ID= UserNameTextBox runat= server ></asp:TextBox>

            <br />

            <asp:Button ID= SubmitButton runat= server Text= 提交到目标页

            PostBackUrl= ~/DestinationPage aspx />

        </div>

        </form>

   </body>

   </>

  源页中的UserName公共属性的定义如下

   /// <summary>

   /// 用来获取用户在页面文本框中输入的用户名

   /// </summary>

   public string UserName

   {

        get { return this UserNameTextBox Text; }

   }

  接着应该在目标页中添加@PreviousPageType指令

   <%@ PreviousPageType VirtualPath= ~/SourcePage aspx %>

  此指令有两个属性 除了VirtualPath以外 还有一个名叫TypeName 这两个属性只要设置其中一个就可以了

  经过上面这些定义之后 就在目标页上通过类似下面的代码来访问源页的UserName公共属性了

   if (this PreviousPage != null)

   {

        this Response Write(this PreviousPage UserName);

   }

  是不是相当的简单呢?这是@PreviousPageType指令相对于@Reference的一个优势 它自动就对Page PreviousPage进行了强类型的转换

  二 @Reference

  除了@PreviousPageType指令以外 另外一个可用的指令就是@Reference

  此指令同样是添加在目标页中 而不是源页中 可不要搞错了

  示例代码以@PreviousPageType的那个代码为基础进行修改

  首先删除目标页上的@PreviousPageType指令 然后添加@Reference指令

   <%@ Reference VirtualPath= ~/SourcePage aspx %>

  只要做这些修改就可以了 最后就可以使用类似下面的代码在目标页中访问源页的公共属性了

   if (this PreviousPage != null)

   {

        SourcePage PreviousPage = (SourcePage)this PreviousPage;

        this Response Write(PreviousPage UserName);

   }

lishixinzhi/Article/program/net/201311/12599  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码