由于保护级别,无法访问方法子 [英] Method sub is not accessible due to protection level
本文介绍了由于保护级别,无法访问方法子的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Imports System.Data.SqlClient
Partial Class payment_1
Inherits System.Web.UI.Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles confirmpayment.Click
If Page.IsValid = True Then
Dim value As Decimal = Convert.ToDecimal(Session("Price"))
Dim addpoint As Integer = value / 10
Dim abs1 As Integer = Math.Abs(addpoint)
Dim connectionString = ConfigurationManager.ConnectionStrings("ColoreConnectionString").ConnectionString
Dim connection As SqlConnection = New SqlConnection(connectionString)
connection.Open()
Dim expirydate As String = DropDownList2.SelectedValue & " " & DropDownList3.SelectedValue
Dim sql As String = "INSERT INTO [Payment](creditcardType,creditcard_num,csv_num,expiry_date,creditcard_name,TotalPayment,ordertrackingStatus) VALUES (@creditcardtype,@creditcard_num,@csv_num,@expiry_date,@creditcard_name,@TotalPayment, 'False')"
Dim Command As SqlCommand = New SqlCommand(sql, connection) ''
Command.Parameters.AddWithValue("@creditcardType", DropDownList1.SelectedValue)
Command.Parameters.AddWithValue("@creditcard_num", TextBox1.Text)
Command.Parameters.AddWithValue("@csv_num", TextBox2.Text)
Command.Parameters.AddWithValue("@expiry_date", expirydate)
Command.Parameters.AddWithValue("@creditcard_name", TextBox3.Text)
Command.Parameters.AddWithValue("@TotalPayment", Session("Price"))
Command.Parameters.AddWithValue("@points", abs1)
Command.ExecuteNonQuery()
updatePoints(TotalPayment)
Response.Redirect("payment_2.aspx")
End If
End Sub
Function getTotalprice() As String
Dim connectionString As String = ConfigurationManager.ConnectionStrings("ColoreConnectionString").ConnectionString
Dim connection As SqlConnection = New SqlConnection(connectionString)
connection.Open()
Dim sql As String = "SELECT COALESCE(SUM(Products.productPrice),0) AS price fROM Products INNER JOIN ShoppingcartItem ON Products.productId = ShoppingcartItem.productId WHERE ShoppingcartItem.shoppingCartId = " & Session("SCID")
Dim command As SqlCommand = New SqlCommand(sql, connection)
Dim reader As SqlDataReader = command.ExecuteReader()
Dim TotalPrice As String
If (reader.Read()) Then
TotalPrice = reader.GetValue(0)
End If
connection.Close()
Return TotalPrice
End Function
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Label9.Text = Session("Price")
getpoint()
End Sub
Function getpoint() As String
Dim connectionString As String = ConfigurationManager.ConnectionStrings("ColoreConnectionString").ConnectionString
Dim connection As SqlConnection = New SqlConnection(connectionString)
connection.Open()
Dim sql As String = "SELECT points from Member where memberId = 3"
Dim command As SqlCommand = New SqlCommand(sql, connection)
Dim reader As SqlDataReader = command.ExecuteReader()
Dim TotalPoint As String
If (reader.Read()) Then
TotalPoint = reader.GetValue(0)
End If
connection.Close()
lblpoints.Text = TotalPoint
Return TotalPoint
End Function
Protected Sub updatePoints(ByVal TotalPayment As Integer)
Dim connectionString As String = ConfigurationManager.ConnectionStrings("ColoreConnectionString").ConnectionString
Dim connection As SqlConnection = New SqlConnection(connectionString)
connection.Open()
Dim sql As String = "update Member set Points = Points + @Points where MemberId = (select m.MemberId from Member m inner join Payment P on m.MemberId = P.MemberId where P.PaymentId = " & Session("PaymentId") & ")"
Dim Command As SqlCommand = New SqlCommand(sql, connection)
Dim value As Decimal = Convert.ToDecimal(TotalPayment)
Dim abs1 As Integer = Math.Abs(value)
Command.Parameters.AddWithValue("@points", abs1)
Command.ExecuteNonQuery()
connection.Close()
End Sub
Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate
Dim v As CustomValidator = source
Dim t As TextBox = TextBox1
Dim creditcardnumber As String = t.Text
If creditcardnumber = "" Then
v.Text = "Credit Card number cannot be blank!"
args.IsValid = False
End If
End Sub
Protected Sub CustomValidator2_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator2.ServerValidate
Dim v As CustomValidator = source
Dim t As TextBox = TextBox2
Dim cvcnum As String = t.Text
If cvcnum = "" Then
v.Text = "CVC Number number cannot be blank!"
args.IsValid = False
End If
End Sub
Protected Sub CustomValidator3_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator3.ServerValidate
Dim v As CustomValidator = source
Dim t As TextBox = TextBox3
Dim creditcardname As String = t.Text
If creditcardname = "" Then
v.Text = "Credit Card Name cannot be blank!"
args.IsValid = False
End If
End Sub
End Class
你好.我在调用子方法updatePoints(TotalPayment)时遇到问题,错误是由于其保护级别,未声明TotalPayment可能无法访问.有人知道如何解决吗?请帮忙!紧急.谢谢.
Hi. I have a problem calling the sub method updatePoints(TotalPayment), the error is "TotalPayment is not declared it may be inaccessible due to its protection level. Anyone know how to solve this? please help! urgent. Thank you
推荐答案
可能是要使用Session("Price")
:
Probably you mean to useSession("Price")
:
Command.Parameters.AddWithValue("@TotalPayment", Session("Price"))
Command.Parameters.AddWithValue("@points", abs1)
Command.ExecuteNonQuery()
updatePoints(TotalPayment)
可能应该是:
Probably should be:
Command.Parameters.AddWithValue("@TotalPayment", Session("Price"))
Command.Parameters.AddWithValue("@points", abs1)
Command.ExecuteNonQuery()
updatePoints(Session("Price"))
这篇关于由于保护级别,无法访问方法子的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文