当我将函数转换为 PageMethods 时,我收到“Me' is valid only in an instance method”错误。

Private Shared objDT As System.Data.DataTable
Private Shared objDR As System.Data.DataRow

<WebMethod()> Public Shared Function addstn(itemID As String) As String
  For Each Me.objDR In objDT.Rows
            If objDR("ProductID") = ProductID Then
                If objDR("Options") = desc Then
                    objDR("Quantity") += 1
                    blnMatch = True
                    Exit For
                End If
            End If
  Next

End Function

如果我删除我,我会得到不同的错误。
我在网上某处得到了这个购物车脚本,但我不确定用其他东西替换“Me.objDR”。

先感谢您

最佳答案

Me 关键字提供了一种引用当前执行代码的类或结构的特定实例的方法。

在共享上下文中没有实例。您可以直接或通过 ClassName.VariableName 引用您的变量。

这可以工作(我不确定其他变量来自哪里):

For Each objDR In objDT.Rows
        If ProductID.Equals(objDR("ProductID")) _
           AndAlso desc.Equals(objDR("Options"))Then
                Dim q = CInt(objDR("Quantity"))
                objDR("Quantity") = q + 1
                blnMatch = True
                Exit For
        End If
Next

http://msdn.microsoft.com/en-us/library/20fy88e0%28v=vs.80%29.aspx

10-08 15:22