由于保护级别,无法访问方法子 [英] Method sub is not accessible due to protection level

查看:84
本文介绍了由于保护级别,无法访问方法子的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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 use Session("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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆