希望这里的.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
答案 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会导致由于类型感染而难以诊断的各种运行时和编译错误。