2016-01-27 15 views
0

這是我的簡單用戶名和密碼登錄,可以將用戶重定向到不同的「會員區」頁面。爲什麼我得到:'System.Collections.IEnumerable'沒有類型參數,因此不能有類型參數?

不過,我得到一個:

BC32045:「System.Collections.IEnumerable」沒有類型參數,所以不能有類型參數

而且我不知道爲什麼。

任何人都可以幫忙嗎?

謝謝大衛。

Public Class MyPage 
Inherits Page 
Private Structure Cred 
    Public Username As String 
    Public Password As String 
    Public RedirectUrl As String 
    Public Sub New(un As String, pw As String, Optional ru As String = "/admin/default.aspx") 
     Username = un 
     Password = pw 
     RedirectUrl = ru 
    End Sub 
End Structure 

Private ReadOnly _credentials As IEnumerable(Of Cred) = New() {New Cred("userone", "passwordone"), New Cred("usertwo", "passwordtwo"), New Cred("userthree", "passwordthree", "/admin/custom.aspx")} 

Public Sub Page_Load(sender As Object, e As EventArgs) 
    Dim user = _credentials.SingleOrDefault(Function(x) x.Username = UserName.Text AndAlso x.Password = Password.Text) 
    If user IsNot Nothing Then 
     Session("Admin") = True 
     Response.Redirect(user.RedirectUrl) 
    Else 
     Session("Admin") = False 
     LtlLogin.Text = "<p>Sorry, you have provided incorrect login details.</p>" 
    End If 
End Sub 
End Class 
+0

你從哪裏得到它? –

+0

@TimSchmelter在這一行:Private ReadOnly _credentials由於IEnumerable(Of Cred)= New(){New Cred(「userone」,「passwordone」),New Cred(「usertwo」,「passwordtwo」),New Cred(「userthree 「,」passwordthree「,」/admin/custom.aspx「)} –

+1

您可能導入System.Collections而不是System.Collections.Generic某處。 –

回答

0

我得到「類型預期」編譯器錯誤,這是正確的。要麼刪除New(),所以用

Private ReadOnly _credentials As IEnumerable(Of Cred) = {New Cred("userone", "passwordone"), New Cred("usertwo", "passwordtwo"), New Cred("userthree", "passwordthree", "/admin/custom.aspx")} 

更換

Private ReadOnly _credentials As IEnumerable(Of Cred) = New() {New Cred("userone", "passwordone"), New Cred("usertwo", "passwordtwo"), New Cred("userthree", "passwordthree", "/admin/custom.aspx")} 

或使用New Cred(){...}

但是,你應該使用,而不是一個結構的類。使用Option Strict您不能使用If user IsNot Nothing,因爲CredStructure,因此是值類型。

+0

感謝隊友,但是,我仍然收到蒂姆相同的錯誤信息。任何想法爲什麼?非常感謝你的幫助! –

+0

@d。c:您是否嘗試重新打開Visual Studio並重新編譯該項目?編譯器錯誤對於當前代碼似乎不正確。 –

+0

我使用DreamWeaver,刷新後只顯示相同的錯誤消息。附:請不要因爲我使用DreamWeaver而殺了我:) –

相關問題