2012-04-24 38 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"); 

}