ASP.NET错误:错误1'isEqual'未声明。由于其保护级别,它可能无法访问

问题描述 投票:1回答:2

希望这里的.NET开发人员可以启发我。

实际上我已经在.NET环境中编写了一些页面,而我正在使用VB.NET作为我的后端。

Phewww ....!

我有两个A.ascx和B.ascx文件,每个文件都有A.ascx.vb和B.ascx.vb文件。

但这是有趣的部分。我在其中一个输入的方法中使用'isEqual'变量。如果我在其中一个vb文件中使用它,那么我就无法将它用于另一个vb文件。因此,一旦我在这两个vb(文件)中使用'isEqual',我将从其中一个vb文件中出现错误;

'isEqual'未声明。由于其保护级别,它可能无法访问。

这有什么替代方法吗?

我的代码实际上是这个;

Protected Sub bindTable()
    'add somemore for searching with dropdown list
    Dim sSql As String = "SELECT *, C.companyname FROM quotationmst Q"
    Dim sColumn As String = Nothing
    Dim sSearchField As String = Nothing
    Dim sOptional As String = Nothing

    If txtQuotationSearchField.Text.Length > 0 Then
        sColumn = drpQuotationSearchField.SelectedItem.Value

        sSearchField = " WHERE " & sColumn & " LIKE '%" & txtQuotationSearchField.Text & "%' "
        sSql &= sSearchField

        If isEqual(sColumn, "companyname") = 0 Or isEqual(sColumn, "customername") = 0 Then
            sSearchField = " INNER JOIN customermst C on Q.customerid = C.customerid WHERE C." & sColumn & " LIKE '%" & txtQuotationSearchField.Text & "%'"
            sSql &= sSearchField
        End If

    Else
        sSearchField = " INNER JOIN customermst C ON Q.customerid = C.customerid"
        sSql &= sSearchField
    End If

    Dim oCommon As New Common
    sSql &= " ORDER BY quotationcode"
    Dim dT As DataTable = oCommon.getDataSet(sSql)
    dgRecord.DataSource = dT
    dgRecord.DataBind()
    lblTotal.Text = dT.Rows.Count
End Sub
vb.net visual-studio equals protection
2个回答
1
投票

做就是了

If sColumn.Equals("companyname") Or sColumn.Equals("customername") Then 

0
投票

我认为这里发生的是:

在Visual Studio(vb.net)中创建文件并使用设计器添加控件时,它会创建一个名为“filename.aspx.designer.vb”的文件。您可能已使用设计器创建了第一页,并将其复制到创建第二页,在该过程中丢失了设计文件。

这会给你上面的错误,因为设计文件中有自动生成的字段声明,如下所示:

受保护的事件rptPackages为Global.System.Web.UI.WebControls.Repeater

在任何情况下,尝试使用上述decarration为您的vars,或至少使它们“受保护”或“公共”,以便它们有某种范围。使用dim会导致由于类型感染而难以诊断的各种运行时和编译错误。

© www.soinside.com 2019 - 2024. All rights reserved.