2010-09-20 16 views
0

我是新來的.net。我用登錄創建了一個頁面。當我登錄我必須被定向到一個特定的形式

當我輸入信息並且用戶名和密碼匹配時,「我的主頁」文本變成超鏈接,當我單擊超鏈接時,它會將我引導至配置文件Web表單。

我需要修改代碼的方式是,當登錄詳細信息匹配時,頁面應直接指向配置文件web表單,而不必單擊超鏈接。我需要這個問題的代碼。

謝謝你

回答

1

你需要在你的代碼背後做到這一點。在這些行上添加一些內容到您的登錄按鈕點擊事件中。

Protected Sub Login_OnClick(ByVal sender As Object, ByVal e As System.EventArgs) 
    If Page.IsValid Then 
     If Membership.ValidateUser(txtUsr.Text, txtPass.Text) Then 
      FormsAuthentication.RedirectFromLoginPage(txtUsr.Text, RememberMe.Checked) 
     Else 
      FailureText.Visible = True 
     End If 
    End If 
End Sub 

這是我寫的一篇博客文章。
http://dotnetblogger.com/post/2010/01/11/ASPNET-Membership-Remember-Me-That-Actually-Works.aspx

不要忘記設置默認在web.config重定向

<authentication mode="Forms"> 
    <forms loginUrl="login.aspx" defaultUrl="default.aspx" /> 
</authentication> 

MDSN:http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.defaulturl.aspx

+0

對於博客文章+1,因爲我對你的事業充滿信心。我不會再被ASP.NET登錄控件陷入死亡。我最近發現了一些代碼,其中驗證由一個CSS友好適配器爲Login控件處理 - 使用OnAuthenticate委託。荒謬。 – RPM1984 2010-09-21 00:12:07

+0

如果它不是關鍵任務信息,那麼我只需使用OpenID(如同SO)。對於安全登錄,我仍然使用內置身份驗證,我稍微調整了它。 – 2010-09-21 04:03:07

0

您可以在web.config文件中進行設置:

<authentication mode="Forms"> 
    <forms ... defaultUrl="http://YourURL" /> 
</authentication> 

然後在您的登錄按鈕代碼中添加對FormsAuthentication.RedirectFromLoginPage()的呼叫。

相關問題