我想實現一些VB.NET代碼,它從Web窗體獲取信用卡詳細信息並將它們傳遞給付款對象。我已經在另一個頁面上完成了個人詳細信息表單的工作,這很好。通過網絡形式將數據傳遞給對象
然而,在此頁我收到Too many arguments to Public Sub New()
錯誤以下行:
Dim cardDetails As Payment = New Payment(Me.CardNumber.Text, Me.CardExpiryMonth.Text, Me.CardExpiryYear.Text)
這是沒有任何意義的部分。它需要三個參數,我發送了三個參數。真的沒有太多的信息要提供。下面是背後的代碼和付款類。
在Payment.vb
:
Imports Microsoft.VisualBasic
Public Class Payment
'declare variables, private
Private cardNo As String
Private expiryMth As String
Private expiryYr As String
''get and set for each variable
Private Property cardNumber() As String
Get
Return cardNo
End Get
Set(value As String)
cardNo = value
End Set
End Property
Private Property expiryMonth() As String
Get
Return expiryMth
End Get
Set(value As String)
expiryMth = value
End Set
End Property
Private Property expiryYear() As String
Get
Return expiryYr
End Get
Set(value As String)
expiryYr = value
End Set
End Property
'no argument constructor
Public Sub New()
End Sub
''sub methods/functions do stuff and return values
Public Overrides Function ToString() As String
Return cardNo
End Function
Public Sub New(ByVal cardNumber As String, ByVal expiryMonth As String, ByVal expiryYear As String)
End Sub
End Class
而在Payment.aspx.vb
我:
Protected Sub Submit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Submit.Click
'add the card details from the form to the object.
Dim cardDetails As Payment = New Payment(Me.CardNumber.Text, Me.CardExpiryMonth.Text, Me.CardExpiryYear.Text)
感謝Markus,不幸的是,這並沒有解決問題。原來的帖子已被編輯,以添加儘可能多的信息,因爲我有。 – gem