有不少文章讨论怎么在两个页面间传递引用,如果你页面上的对象设置为public的话,你就可以传递他们在页面间。在页面间传递是使用
server.transfer替代response.redirect就可以。
例子:
-------------in page a codebehind:
public class pagea : system.web.ui.page
{
public system.web.ui.webcontrols.textbox textbox1;
public system.web.ui.webcontrols.button button1;
// standard page code (page_load, etc)
// ....
// ....
private void button1_click(object sender, system.eventargs e)
{
server.transfer(b.aspx);
}
}
-------------in page b codebehind:
private void page_load(object sender, system.eventargs e)
{
pagea myapage = context.handler as pagea;
string textboxfrompagea = myapage.textbox1.text;
}
因为当使用server.transfer时所有的对象(a and b)在服务器上当时都是活动的,你可以引用任何东西。
稍微修改一下b.aspx(uestc95 提供):
page mypage =(page) context.handler;
string textboxfrompagea;
textboxfrompagea = ((textbox)mypage.findcontrol(textbox1)).text;
这样在a.aspx中就可以正常的使用protected类型的了。
good luck!