论文部分内容阅读
摘要:asp.net是目前最流行的web开发的主流技术之一,因为它是基于通用语言编译运行的程序,所以它具有强大性和适应性,开发起来简单易学,管理起来非常高效。在开发过程中会经常遇到重定向的问题,这里重点探讨在asp.net开发中重定向实现的方法及技巧。
关键词:asp.net;网页重定向;网址重写
中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)04-0842-02
Methods and Skills for Realizing Redirection in Asp.net
WANG Hai-yan1, ZHANG Hua-gui2
(1.Educational Technology Center of 65066 Troops Shenyang Military Area Command, Dalian 116100, China; 2.Information Center of Dalian Sanatorium Shenyang Military Area Command, Dalian 116013, China)
Abstract: Asp.net is one of the most popular mainstreaming technologies for web development. Since it is a program operating based on universal language compiling, it is very powerful and has good adaptability. Meanwhile, it is easy to be developed and high efficient in management. In the developing process, the problem of redirection will occur frequently. This paper mainly focuses on the methods and skills for realizing redirection in asp.net development.
Key words:asp.net; webpage redirection; website rewriting
通常我们在浏览web网页、查看bbs数据的时候,在感兴趣的链接上点击鼠标就可以跳到另一个页面,查看相关内容;在填写完留言板后点击提交按钮,就可以把我们的留言数据提交到数据库中去,这些都是通过网页的重点向功能来实现的。网页重定向技术可以在网站的各个页面间根据需要自由跳转,在web页面加载、数据传输等方面的应用也十分广泛,在asp.net中实现网页重定向技术共有四种方法。下面分别来介绍这几种具体实现重定向的方法。
1 超级链接方法
超级链接是网页中最常见的一种方法,也是最简单的。网页制作中传统的做法是使用HTML标记来创建超级链接,根据需要跳转到指定的URL,这个URL既可以是相同网站的网页也可以是外部网站的网页。
如:访问网易网站
其中,target属性用于指定目标框架,href属性用于指定URL,title用于指定鼠标指针移到文本链接上方时的工具提示信息,…标记之间的内容是超级链接的内容。
在asp.net中创建超级链接的方法是使用HyperLink服务器控件。如:代码实例:
中国万网
我的网站
这两种方法的特点在于可以将页面重定向到任何页,而不局限于同一Web应用程序当中。但是不会将当前页的信息传递到目标页,如果需要跨页传递(共享)信息,通常需要使用查询字符串或会话状态。
2 Response.Redirect方法
用 Redirect 方法可将浏览器重定向到另一个 URL,而不是将内容发送给用户。例如,如果您想确认用户是否已从主页进入了您的应用程序,以便能收到一个客户 ID,则可以检验他们是否有客户 ID 号;如果没有,就可以将其重定向到主页。以下就是具体例子:
可以通过调用 Redirect 方法为页面设置重定向URL。代码实例:
protected void Button1_Click(object sender, EventArgs e)
{Response.Redirect("~/Test.aspx");}
Redirect方法接受一个表示目标位置的字符串。当服务器遇到Redirect语句时,将发送一条指令(包含新的地址)给浏览器,然后让浏览器去发送http请求。与超链接一样,Redirect 方法不会向目标页传递信息。如果源页和目标页位于同一Web应用程序中,则可以通过将数据存储在会话状态中在源页和目标页之间共享数据。
3 Server.Transfer方法
而Transfer 方法则是在服务器上直接重定向到目标页。也就是说,比起Redirect方法,Transfer少了一个由服务器传输数据到浏览器的过程,而直接由服务器端转向目标页。Transfer方法的另一个显著特点就是在页面转换时,Request集合里的内容不会丢失,从而为开发人员带来了方便。代码实例:
protected void Button1_Click(object sender, EventArgs e)
{Server.Transfer("~/Test.aspx");} 由于源页和目标页之间的传输在服务器上进行,浏览器没有任何关于更改后的頁的信息,它仍保留有关原始(源)URL 的信息。例如,Internet Explorer 中的“地址”框在执行传输后不会发生变化,而是继续显示最近请求的页(通常为源页)的 URL。因此,对于以隐藏 URL 的方式向用户呈现页面的应用程序而言,调用 Transfer 方法是一种最佳的策略。注意:采用Transfer方式重定向,源页与目标页必须位于相同的 Web 应用程序中,否则会引发异常。
4 跨网页传送PostBackUrl方法
与服务器端重定向不同,跨页发送是直接在客户端将源页面回传到其他页面(默认是回传页面本身);所有实现了IButtonControl的空间都具有PostBackUrl属性,设置这个属性可以将当前页面回传到目标页面。该属性会将源页上控件的值发送到目标页,所以目标页能够从源页(previouspage)中读取控件值和公共属性值。
此外,跨页发送是基于控件间的传递,而不是基于页面,所以可以更加灵活而直接的实现页面回发。假设有两个Web页,一个是源Web页,另一个是目标Web页。在源网页中初始化了使用按钮进行的跨网页提交操作。我们首先必须设置目标网页按钮的PostBackUrl属性,顺便说一句,所有实现了 System.Web.UI.WebControls.IbuttonControl接口的Web控件都有跨网页提交的特性。下面的代码将演示这一过程。PostBackUrl="~/target.aspx" text = "Post to a target page"/>, 当我们设置PostBackUrl属性时,asp.net框架将相应的控件绑定到一个新的叫WebForm_DoPostBackWithOptions的JavaScript函数,产生的Html代码如下:
btnSubmit", "", false, "","Target.aspx", false, false))" id="btnSubmit" /> 对于上面的html代码来说,当用户单击按钮时,浏览器将提交目标URL(Target.aspx),而不是源URL。
通过以上方法,就可以在asp.net中轻松实现网页的重定向。这些实现方法,各有优点,在B/S的程序设计中可以根据自己的需要灵活选择。
参考文献:
[1] 陈启祥,左强.ASP.NET页面间传值方法研究[J].计算机工程,2006(8).
[2] 斯琴高娃.一个课程网站在线制作平台的研究[D].吉林:吉林大学,2006.
[3] 韦扬,徐凯声.ASP.NET对页面运行效率影响的研究[J].交通与计算机,2001(6).
[4] 张文增,赵冬斌,孙振国,等.ASP.NET——动态网页开发趋势[J].计算机工程,2002(3).
[5] 贺金凌.基于.NET平台的WEB解决方案的安全机制[J].计算机应用与软件,2002(11).
关键词:asp.net;网页重定向;网址重写
中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)04-0842-02
Methods and Skills for Realizing Redirection in Asp.net
WANG Hai-yan1, ZHANG Hua-gui2
(1.Educational Technology Center of 65066 Troops Shenyang Military Area Command, Dalian 116100, China; 2.Information Center of Dalian Sanatorium Shenyang Military Area Command, Dalian 116013, China)
Abstract: Asp.net is one of the most popular mainstreaming technologies for web development. Since it is a program operating based on universal language compiling, it is very powerful and has good adaptability. Meanwhile, it is easy to be developed and high efficient in management. In the developing process, the problem of redirection will occur frequently. This paper mainly focuses on the methods and skills for realizing redirection in asp.net development.
Key words:asp.net; webpage redirection; website rewriting
通常我们在浏览web网页、查看bbs数据的时候,在感兴趣的链接上点击鼠标就可以跳到另一个页面,查看相关内容;在填写完留言板后点击提交按钮,就可以把我们的留言数据提交到数据库中去,这些都是通过网页的重点向功能来实现的。网页重定向技术可以在网站的各个页面间根据需要自由跳转,在web页面加载、数据传输等方面的应用也十分广泛,在asp.net中实现网页重定向技术共有四种方法。下面分别来介绍这几种具体实现重定向的方法。
1 超级链接方法
超级链接是网页中最常见的一种方法,也是最简单的。网页制作中传统的做法是使用HTML标记来创建超级链接,根据需要跳转到指定的URL,这个URL既可以是相同网站的网页也可以是外部网站的网页。
如:访问网易网站
其中,target属性用于指定目标框架,href属性用于指定URL,title用于指定鼠标指针移到文本链接上方时的工具提示信息,…标记之间的内容是超级链接的内容。
在asp.net中创建超级链接的方法是使用HyperLink服务器控件。如:代码实例:
中国万网
这两种方法的特点在于可以将页面重定向到任何页,而不局限于同一Web应用程序当中。但是不会将当前页的信息传递到目标页,如果需要跨页传递(共享)信息,通常需要使用查询字符串或会话状态。
2 Response.Redirect方法
用 Redirect 方法可将浏览器重定向到另一个 URL,而不是将内容发送给用户。例如,如果您想确认用户是否已从主页进入了您的应用程序,以便能收到一个客户 ID,则可以检验他们是否有客户 ID 号;如果没有,就可以将其重定向到主页。以下就是具体例子:
可以通过调用 Redirect 方法为页面设置重定向URL。代码实例:
protected void Button1_Click(object sender, EventArgs e)
{Response.Redirect("~/Test.aspx");}
Redirect方法接受一个表示目标位置的字符串。当服务器遇到Redirect语句时,将发送一条指令(包含新的地址)给浏览器,然后让浏览器去发送http请求。与超链接一样,Redirect 方法不会向目标页传递信息。如果源页和目标页位于同一Web应用程序中,则可以通过将数据存储在会话状态中在源页和目标页之间共享数据。
3 Server.Transfer方法
而Transfer 方法则是在服务器上直接重定向到目标页。也就是说,比起Redirect方法,Transfer少了一个由服务器传输数据到浏览器的过程,而直接由服务器端转向目标页。Transfer方法的另一个显著特点就是在页面转换时,Request集合里的内容不会丢失,从而为开发人员带来了方便。代码实例:
protected void Button1_Click(object sender, EventArgs e)
{Server.Transfer("~/Test.aspx");} 由于源页和目标页之间的传输在服务器上进行,浏览器没有任何关于更改后的頁的信息,它仍保留有关原始(源)URL 的信息。例如,Internet Explorer 中的“地址”框在执行传输后不会发生变化,而是继续显示最近请求的页(通常为源页)的 URL。因此,对于以隐藏 URL 的方式向用户呈现页面的应用程序而言,调用 Transfer 方法是一种最佳的策略。注意:采用Transfer方式重定向,源页与目标页必须位于相同的 Web 应用程序中,否则会引发异常。
4 跨网页传送PostBackUrl方法
与服务器端重定向不同,跨页发送是直接在客户端将源页面回传到其他页面(默认是回传页面本身);所有实现了IButtonControl的空间都具有PostBackUrl属性,设置这个属性可以将当前页面回传到目标页面。该属性会将源页上控件的值发送到目标页,所以目标页能够从源页(previouspage)中读取控件值和公共属性值。
此外,跨页发送是基于控件间的传递,而不是基于页面,所以可以更加灵活而直接的实现页面回发。假设有两个Web页,一个是源Web页,另一个是目标Web页。在源网页中初始化了使用按钮进行的跨网页提交操作。我们首先必须设置目标网页按钮的PostBackUrl属性,顺便说一句,所有实现了 System.Web.UI.WebControls.IbuttonControl接口的Web控件都有跨网页提交的特性。下面的代码将演示这一过程。PostBackUrl="~/target.aspx" text = "Post to a target page"/>, 当我们设置PostBackUrl属性时,asp.net框架将相应的控件绑定到一个新的叫WebForm_DoPostBackWithOptions的JavaScript函数,产生的Html代码如下:
btnSubmit", "", false, "","Target.aspx", false, false))" id="btnSubmit" /> 对于上面的html代码来说,当用户单击按钮时,浏览器将提交目标URL(Target.aspx),而不是源URL。
通过以上方法,就可以在asp.net中轻松实现网页的重定向。这些实现方法,各有优点,在B/S的程序设计中可以根据自己的需要灵活选择。
参考文献:
[1] 陈启祥,左强.ASP.NET页面间传值方法研究[J].计算机工程,2006(8).
[2] 斯琴高娃.一个课程网站在线制作平台的研究[D].吉林:吉林大学,2006.
[3] 韦扬,徐凯声.ASP.NET对页面运行效率影响的研究[J].交通与计算机,2001(6).
[4] 张文增,赵冬斌,孙振国,等.ASP.NET——动态网页开发趋势[J].计算机工程,2002(3).
[5] 贺金凌.基于.NET平台的WEB解决方案的安全机制[J].计算机应用与软件,2002(11).