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

时间:2011-06-02 04:05:18

标签: vb.net visual-studio equals protection

希望这里的.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

2 个答案:

答案 0 :(得分:1)

只做

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

答案 1 :(得分:0)

我认为这里发生的是:

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

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

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

在任何情况下,请尝试对您的vars使用上述declration,或者至少将它们设为“Protected”或“Public”,以便它们具有某种范围。使用dim会导致由于类型感染而难以诊断的各种运行时和编译错误。