2012-04-24 42 views
0

我是csharp和asp.net中的新成员,我正在用asp.net和csharp编写web应用程序; 在我的default.aspx中我有按钮,如果我点击按钮我想打开不同的页面(例如asdfg.aspx)。要做到这一点,我写这个代码的Default.aspx:按钮单击ASP.NET和C#的Web应用程序中的按钮#

<asp:Button ID="button1" runat="server" Text="Click Button" OnClick="ButtonClick" /> 

在我default.aspx.cs我创造了这个代码段:

public void ButtonClick(Object sender, EventArgs e) 
{ 


} 

之后,我该怎么办?谢谢

p.s.Sour for my english。

+0

不要忘记所接受,如果你的作品,以纪念答案.... – 2012-04-24 11:06:07

+0

没有你需要的答案右下方签点击接受它,并需要15代表直接给予好评的答案.... – 2012-04-25 18:37:06

回答

3
public void ButtonClick(Object sender, EventArgs e) 
{ 
    Response.Redirect("~/asdfg.aspx"); 

} 

只是一个通知:手柄不应该是一个公共方法,it't非常不寻常的实例Page类和其他类调用它。所以你可以让它保护或私密。

tilda表示法(前缀)“〜”在ASP .Net中是特殊的。这意味着新的位置与可能因网站根目录而异的应用程序有关。一个网站可以有多个应用程序(也就是说,您可以拥有主站点和另一个称为admin的“子网站”)。如果您将在管理应用程序中使用ASP .Net知道如何构建与admin相关的新位置,而不是与根网站相关的位置。

+1

谢谢我看到这很容易:) – Spibat 2012-04-24 07:56:10

+0

@Spibat,如果你回来了,请开始接受答案http://meta.stackexchange.com/questions/5234/how-does-accepting-an -answer-working – 2012-04-25 10:05:59

+0

对不起,但如果我写“Response.Redirect(”〜/ asdfg.aspx“);我将在pageLoad代码asdfg.aspx.cs中写什么?我的意思是在”Response.Redirect(“〜/ asdfg的.aspx“);它不会转到此页面(asdfg.aspx)。另一方面,有没有关于这个问题的任何教程? – Spibat 2012-04-25 18:32:51

0

可以在ButtonClick方法使用

Response.Redirect(urlstring); 

0
public void ButtonClick(Object sender, EventArgs e) 
{ 
     Response.Redirect("~/asdfg.aspx"); 
} 
0

可以使用Server.Transfer("url")Response.Redirect("url")

的Response.Redirect简单地将消息发送向下到(HTTP 302)的浏览器。

Server.Transfer在浏览器不知道任何事情的情况下发生,浏览器请求一个页面,但服务器返回另一个页面的内容。

public void ButtonClick(Object sender, EventArgs e) 
{ 
response.Redirect("~/asdfg.aspx"); 

}