之前的一个小练习分别用 HyperLink 和 LinkButton 控件实现页面跳转的功能,都尝试了一下,但用到HyperLink的时候并没有达到预期的效果,只实现了单纯的页面跳转,参数却传不到另一页面去。 找出原因后,做一个小小的总结:
共同点:都可以转向另一页面
区别:
1.HyperLink 只适用于单纯的页面跳转功能,即使你在NavigateUrl里设置了要传递的参数,(NavigateUrl="~/EditUser.aspx?UserID={0}")并不会被服务器接收,当离开了当前页面后,设置要传递的参数也就没有意义了
2. LinkButton不但可以实现跳转页面的功能,还可以通过Url设置你要传递的参数
string url = "EditNews.aspx?NewsID={0}";
url = string.Format(url,newsid);
Response.Redirect(url);
因此,我们知道 使用LinkButton控件时,会把你要传递的参数传递给服务器处理,处理完后跳转到你的目标Url页面
通过以上两点知道:当我们要把相应的参数传递给另一页面时,需要通过服务器的处理,这时我们应当要使用 LinkButton控件,并对它的事件进行相应的代码编写
当我们只要求单纯的转向另一页面,使用HyperLink即可,HyperLink一般用于导航
3. LinkButton控件可以编写触发事件的方法,HyperLink则没有