您现在的位置是:首页
>
janet ASP.NET 2.0 中跨网页提交的三种方法[3]
ASP.NET 2.0 中跨网页提交的三种方法[3] 七 使用Previou PageTy e Previou PageTy e属性提供了在跨网页操作中访问源页面的强类型能力 下面让我们演示一下
ASP.NET 2.0 中跨网页提交的三种方法[3]
七 使用PreviousPageType
PreviousPageType属性提供了在跨网页操作中访问源页面的强类型能力 下面让我们演示一下如何不通过任何类型转换来从源页面中获得控件值 代码如下
<asp:Textbox ID= txtUserName Runat= server /> <asp:Textbox ID= txtPassword Runat= server /> <asp:Button ID= Submit Runat= server Text= Login PostBackUrl= Menu aspx />要注意的是单击按钮可以重定向到一个叫 Menu asp 的目标页 这个目标页可以使用如下的代码获得用户名和密码
<%@ PreviousPageType VirtualPath= ~/Login aspx %><script runat= server >protected void Page_Load(object sender System EventArgs e){String userName = PreviousPage txtUserName Text;String password = PreviousPage txtPassword Text;//其他可执行代码 }在上面的代码中 PreviousPageType属性返回了一个源页面的强类型引用 这样就消除了类型转换
八 保存视图状态
![janet ASP.NET 2.0 中跨网页提交的三种方法[3]](http://img.zhputi.com/uploads/d0f2/d0f280afa54a7c98ce1a2345cc55bcf841520.jpg)
对于跨网页提交来说 ASP NET 内嵌了一个叫__POSTBACK的隐藏字段 这个字段包含了关于源页面的视图信息 也就是由源页面提供了 包含了一个带有一个非空PostBackUrl属性值的服务端控件 目标页可以使用__POSTBACK中的信息来获得源页面的视图状态信息 代码如下
if(PreviousPage!=null && PreviousPage IsCrossPagePostBack &&PreviousPage IsValid){TextBox txtBox = PreviousPage FindControl( txtUserName );Response Write(txtBox Text);}在上面的代码中核对了用于确保PreviousPage属性不为null的检查代码 顺便提一下 如果目标页和源页面不在同一个应用程序中 这个PreviousPage属性的值为null 只有在进行跨网页提交操作时 IsCrossPagePostBack属性才为true
这个跨网页提交的特性 是ASP NET 中最强有力的特性之一 这种技术将允许在一个页面中提交到另外一个页面 并且可以在目标页面地无缝地操作源页面中的数据
lishixinzhi/Article/program/net/201311/15172 很赞哦! (1059)