有不少文章討論怎麼在兩個頁面間傳遞引用,如果你頁面上的對象設置為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!