2011-04-18 151 views
7

我對Web表單開發相當陌生,正在使用VS 2010中使用ASP.NET Web應用程序模板創建的項目。在用戶成功登錄後,我希望用戶重定向到我創建的頁面。如何修改我的項目以在登錄後重定向用戶?任何樣品/教程/等非常讚賞。成功登錄後如何重定向到頁面?

謝謝!

+0

的[重定向用戶登錄後的特定頁面(http://stackoverflow.com/questions/4789718/redirect-user-to-a可能重複登錄後的特定頁面) – Talljoe 2011-04-18 01:07:07

回答

11

要在用戶登錄後簡單重定向到新頁面,請使用登錄控件的DestinationPageUrl屬性...假設您使用的是Login控件。

如果您需要做更高級的事情,您可以使用Login控件的OnLoggedIn事件處理程序手動執行重定向,或爲事件日誌記錄等添加任何代碼。

如果您已經推出了自己的登錄控件,並且只使用文本框和按鈕控件等事件,那麼在您的Button_Click活動中,您可以使用Response.Redirect("DestinationHere");將用戶帶到新頁面。

+0

我們怎樣才能通過這個變量? – numerah 2013-07-23 05:05:45

4

後您檢查登錄:

Response.Redirect("url"); 
+0

如果您按照OP的說法使用ASP.NET Web應用程序模板,那麼您正在使用Login控件,該控件將忽略以DestinationPageUrl爲目標的Response.Redirect() – 2013-09-26 19:04:58

1

我假設你正在使用ASP.NET登錄控件。該控件的DestinationPageUrl屬性完全可以處理該屬性。如果登錄成功,用戶將被重定向到該屬性中提供的URL。

0
Server.Transfer(*url*) ? 

(上HttpServerUtility法)

我知道旁邊沒有關於ASP.NET,但是從我的Java Web開發發呆,重定向是不好的,因爲它涉及到另一個網絡往返於瀏覽器和回來時你真的只想繼續在另一個頁面中處理。

而Response.Redirect()確實發出了一個302響應代碼(「試試這個其他的url」),回到瀏覽器。呸。 XP

Server.Transfer的()看起來像Response.Forward的Java版本()

+0

這是舊的,但我覺得這個答案值得一些澄清,爲什麼它不好使用登錄。 Server.Transfer與執行中的Response.Redirect行爲非常不同。 Response.Redirect確實發出了額外的請求,但那是因爲它調用瀏覽器來重定向。但是,Server.Transfer像URL掩碼一樣工作,因爲重定向是由服務器完成的。在這種情況下,瀏覽器仍然會顯示登錄網址,但是會指定* url *中的內容。附加信息:http://www.codeproject。com/Tips/724972 /差異之間的響應重定向和服務器-T – Daved 2016-01-28 22:32:28

+0

我認爲在這種特殊情況下,我會配置應用程序/服務器需要身份驗證之前訪問某些網址,所以(1)未經身份驗證的用戶會直接爲資源發出GET請求,(2)服務器會將用戶重新路由到認證頁面,但記住原始請求的URL,(3)認證後,服務器會向用戶顯示原始頁面,其中包含原始URL瀏覽器欄。不過,我不確定幕後的工作原理。我們已經達到了我的知識極限。 :) – JohnL4 2016-02-08 20:35:21

1
<asp:Login ID="Login1" runat="server" DestinationPageUrl="~/Admin/Default.aspx"> 
</asp:Login> 

進入屬性和套裝DestinationPageUrl。

0

爲SharePoint場解決方案的開發

Page.Response.Redirect("url"); 
相關問題