2013-03-13 189 views
1

如果我點擊一個鏈接(無需登錄到該網站),我導航到該頁面:錯誤頁面後登錄

http://localhost:59196/Login.aspx?ReturnUrl=%2fTest%2fContacts.aspx 

當我登錄到我希望被重定向到我的主頁,而該網站比測試Contacts.aspx頁面。 我該如何解決這個問題?

如果我這樣做,那麼我沒有登錄。

protected void Page_Load(object sender, EventArgs e) 
    { 


    } 


    protected void Login1_LoggingIn(object sender, LoginCancelEventArgs e) 
    { 
     Response.Redirect("Home"); 
    } 
+0

您使用的是Web窗體,Web頁面還是MVC? – user1166905 2013-03-13 10:07:22

+0

可以分享你的Login.aspx代碼隱藏的登錄按鈕點擊代碼..? – 2013-03-13 10:23:20

+0

我修好了;)那幫你! – 2013-03-13 10:32:42

回答

0

我必須更改的事件。

protected void Login1_LoggedIn(object sender, EventArgs e) 
    { 
     Response.Redirect("Home"); 
    } 
0

你想重定向到

http://localhost:59196/Login.aspx?ReturnUrl=%2fTest%2fIndex.aspx 

而不是

http://localhost:59196/Login.aspx?ReturnUrl=%2fTest%2fContacts.aspx 

換句話說,鏈接你點擊應該指向上面的第一個鏈接而不是第二個鏈接。

問題依然存在,鏈接是如何產生的?它們是硬編碼還是使用MVC並以某種方式生成鏈接?甚至在你的控制中產生的鏈接?

它會出現你的代碼看ReturnUrl查詢字符串參數,並在成功的登錄重定向到它。

你是否來到通訊錄頁面的登錄頁面?如果是這樣的話,ReturnUrl可能已經動態生成,取決於你來自哪裏。您可能會要求將其固定爲索引頁面(我認爲這就是您稱之爲的內容)。但要小心,其他開發人員可能希望這個鏈接是動態的。

+0

是的,我的意思是對不起我的英語是非常糟糕:) – 2013-03-13 10:10:51

+0

我使用了asp.net配置,並且我沒有使用MVC – 2013-03-13 10:12:45

+0

您可能需要將其修改爲索引頁面 如何設置我的索引頁固定在重定向上 – 2013-03-13 10:16:41

1

只要改變你點擊鏈接網址:

http://localhost:59196/Login.aspx?ReturnUrl=Index.aspx 
1

我認爲你在測試Contact.aspx頁面上點擊有出記錄,因此你已被重定向到登錄頁面的查詢字符串作爲RETURNURL = test contact.aspx,它可能用於從登錄頁面重定向。

因此,不要使用返回網址查詢字符串,您可以直接從登錄頁面中的登錄按鈕單擊登錄頁面,將其重定向到您的頁面頁面。 希望它有效。

我的意思是在

Loginbutton_click() 
{ 
//login validation code here 
//after successful validation 
Response.redirect("Yyourhomepageurlhere"); 
}