ASP.NET页面跳转的方法
1.超链接
2.Response.Redirect(“Urlstring”)
3.Server.Transfer(“UrlString”)
4.PostBackUrl
1.超链接
页面中的静态超链接
<a href=http://www.baidu.com>百度</a>
WEB控件,动态的添加
HyperLink hl=new HyperLink();
hl.NavigateUrl="http://www.baidu.com";
hl.Text="百度";
PanelControl.Controls.Add(hl);
BulletedList -HyperLink模式
2.Response.Redirect
重定向
服务器给浏览器的一个冲定向指令
过程:
浏览器操作--服务器编译--发回页面--浏览器按新URL发出请求--服务器响应新URL请求
--编译新页面--发回浏览器
3.Server.Transfer
服务器重定向
在服务器端发生而不通知浏览器
过程:
浏览器操作--服务器编译--Server.Transfer重定向--服务器响应新的URL请求--编译新页面--发回浏览器
4.PostBackURL
凡是具有IButtonControl接口的控件都有PostBackUrl属性,用来定义提交至那个页面地址。
(可以是本站,也可以是外站)。
这种方法的跳转,目标页可以调用原页面中的控件值。
根目录绝对路径ASP中要加"~"代表根/image/01.jpg 就是根目录下image文件夹下01图
实例:
ASP页面1
<body>
<form id="form1" runat="server">
<div>
使用Response.Redirect调转<asp:Button ID="res" Text="Responce" runat="server" OnClick="res_Click" />
<br />
使用Server.Transfer调转<asp:Button ID="ser" Text="server" runat="server" OnClick="ser_Click" />
<br />
使用PostBackUrl属性的LinkButton跳转页面default.aspx<asp:LinkButton ID="lb" Text="界面" PostBackUrl="~/Default2.aspx" runat="server" OnClick="lb_Click"></asp:LinkButton>
<br />
名称:<asp:TextBox ID="txtuser" runat="server"></asp:TextBox>
<br />
网址:<asp:TextBox ID="txthyper" runat="server"></asp:TextBox> <asp:Button ID="btnyes" Text="添加" runat="server" OnClick="btnyes_Click" />
<br />
<asp:Panel ID="pan" Height="" runat="server"></asp:Panel>
<br />
超链接跳转<a href="http://www.baidu.com">百度</a>
</div>
</form>
</body>
C#代码
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } protected void res_Click(object sender, EventArgs e)
{
//使用这个方法只能是URL
Response.Redirect("http://www.baidu.com");
} protected void ser_Click(object sender, EventArgs e)
{
//使用这个方法只能是绝对路径,也可以是图片,使用这个方法,地址是不变的
Server.Transfer("Default2.aspx");
} protected void lb_Click(object sender, EventArgs e)
{ } protected void btnyes_Click(object sender, EventArgs e)
{
//使用HyperLink 创建对象
HyperLink hl = new HyperLink();
//获取URL属性
hl.NavigateUrl = "http://"+txthyper.Text;
hl.Text = txtuser.Text;
//把这个URL添加到panel中
pan.Controls.Add(hl);
}
}