在ASP.NET应用中,Web表单之间的导航有多种方式:用超级链接,用Response.Redirect,用Server.Transfer,或者用Server.Execute。本文将分析这四种导航方式的异同及其优缺点,帮助你选择最佳的导航方式。 一、超级链接 从一个表单进入另一个表单最简单的方式是使用HTML超级链接控件。在Web表单中,使用超级链接的HTML代码类如: <a href="WebForm2.aspx">进入表单2</a> 当用户点击该超级链接,WebForm2.aspx执行并将结果发送到浏览器。超级链接导航方式几乎可用于任何地方,包括HTML页面和普通的ASP页面。ASP.NET还提供了另一种可替换使用的方法,即HyperLink服务器控件: <form id="Form1" method="post" runat="server"> <asp:HyperLink id="HyperLink1" runat="server" NavigateUrl="WebForm2.aspx">进入表单2</asp:HyperLink> </form> 上述HTML代码的运行结果和第一个例子相同,因为ASP.NET把HyperLink Web服务器控件视为一个HTML超级链接控件。但两者有一点重要的区别,HyperLink Web服务器控件可以在服务器端编程。具体地说,可以在程序代码中改变它的NavigateUrl属性,从而允许构造出具体目标可根据应用的当前状态动态变化的超级链接,例如: Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click HyperLink1.NavigateUrl = "WebForm3.aspx" End Sub
这段代码执行后,如果用户点击链接,他看到的将是WebForm3.aspx,而不是WebForm2.aspx。
|