跨页面传值

  默认情况下,点击Button按钮后,会回传到本页面,但是通过指定ButtonPostBackUrl属性可以把数据提交到其他页面,如在Send.aspx页面中有

< asp:TextBox ID = " TxtContent "  runat = " server " ></ asp:TextBox >
< asp:Button ID = " BtnSend "  runat = " server "  Text = " 转页了 "  PostBackUrl = " ~/Receive.aspx "   />

   点击BtnSet后将转到Receive.aspx,且可以在Receive页面按如下所示得到传递的数据

((TextBox)PreviousPage.FindControl("TxtContent")).Text,为了正常使用要先加上判断if(PreviousPage != null){   }

PreviousPage用来得到前一个页面的引用,然后用FindControl获取需要的控件。 

   还有另外一种方式,就是在Send页面中将TextBox的值封装页面属性,如

public   string  TxtTest
{
      
get  {  return  TextBox2.Text; }
}

   在Receive页面中可以直接使用PreviousPage.TxtTest获取数据,不过需要在Receive.aspx页面的上方加上

<%@ PreviousPageType VirtualPath="~/WebForm1.aspx" %>指令,不然的话会报错。

PreviousPageType提供一种方法来获得上一页的强类型VirtualPath:指定前置页面的虚拟路径

 

你可能感兴趣的:(传值)