文档详情

跟一起学visual studio 2005改进.pdf

发布:2025-03-16约1.72万字共28页下载文档
文本预览下载声明

议题

•跨页投递

•高级缓存技术

什么是跨页投递?

•在ASP.NET1.x中,Web窗体自动回发给它们的宿主页。

即,当用户提交一个窗体时,窗体数据总是提交回包含该

原始窗体的页面。

•在ASP.NET2.0中,Web窗体控件有一个新特性,让开发

人员决定在进行提交操作时将窗体数据发送到何处。

如何实现跨页投递?

•将实现IButtonControl接口的控件配置为发送至不同的目

标页,例如:Button

System.Web.UI.WebControls.IButtonControl

System.Web.UI.WebControls.IButtonControl

{

{

stringPostBackUrl;

stringPostBackUrl;

eventSystem.EventHandlerClick;

eventSystem.EventHandlerClick;

}

}

如何从源页获取信息?

•获取来自页上控件的信息(即由浏览器发送的信息)

–通过Page.PreviousPage属性获得源页的

–默认情况下,PreviousPage属性类型化为Page

–获得源页的后,通常使用FindControl方法来获取控件的信息

–如果源页和目标页位于不同的应用程序中,则无法直接获取页上

控件的值,但可以从Form字典中发送的数据。

(Request.Form[“控件名”])

if(Page.PreviousPage!=null)

if(Page.PreviousPage!=null)

{

{

TextBoxSourceTextBox=(TextBox)Page.PreviousPage.FindControl(TextBox1);

TextBoxSourceTextBox=(TextBox)Page.PreviousPage.FindControl(TextBox1);

if(SourceTextBox!=null)

if(SourceTextBox!=null)

{

{

Label1.Text=SourceTextBox.Text;

Label1.Text=SourceTextBox.Text;

}

}

}

}

如何从源页获取信息?

•FindControl方法在当前名容器中查找控件。如果要查

找的控件位于另一控件内(通常位于模板内),则必须先

获取对该容器的,然后才能在该容器中查找要获取的

控件。

LoginLoginControl=(Login)PreviousPage.FindControl(Login1);

LoginLoginControl=(Login)PreviousPage.FindControl(Login1);

if(LoginControl!=null)

if(LoginControl!=null)

{

{

TextBoxUserName=(TextBox)LoginControl.FindControl(UserName);

TextBoxUserName=(TextBox)LoginControl.FindControl(UserName);

if(UserName!=null)

if(UserName!=null)

{

{

Label1.Text=UserName.Text;

显示全部
相似文档