如何从另一个表单对象调用公共共享函数?

时间:2019-05-11 03:13:30

标签: vb.net webforms

我为一个Web表单开发了一个 WebMethod 标记函数,我想在另一个Web表单中重复使用。最简单的方法是仅在适当位置重用它,但是明显的语法猜测不起作用。

我的历史是C ++和C#,因此当尝试引用共享(静态)方法时,我的第一个目标是activity count golf 3 soccer 5 fishing 1 。但这没有用,所以我去了Google,它说语法为classname.method(parameters)

我尝试在首页的对象定义中添加单词classname.method(parameters)(保留在下面的代码段中),但是提示保护问题并没有产生结果。我还尝试在 PeopleSearch 代码中使用Public,但无济于事。

我希望找到一种比“将功能从 WebForm 中抽出并将其放置在共享类中,并具有另一层调用开销”更好的解决方案。

第一页的备用代码:

Imports Directories_DeptPhoneList

第二个“搜索更多”页面支持代码:

Public Partial Class Directories_DeptPhoneList
    Inherits System.Web.UI.Page
    ...
    <System.Web.Services.WebMethod()>
    Public Shared Function SearchRequested(key As String) As String
        ... SQL lookup, results formatted into table rows, one row per match
        ... str = "<tr>....</tr>" no <table> tag, just guts of the table
        Return str
    End Function
    ...
End Class

我希望能够调用Shared函数,但是Visual Studio在 PeopleSearch 对象的方法调用上对Partial Class Directories_PeopleSearch Inherits System.Web.UI.Page ... <System.Web.Services.WebMethod()> Public Shared Function DoSearch(key As String) As String Dim deptRows As String = Directories_DeptPhoneList.SearchRequested(key) ... More lookups & data formatting another str = "<tr>....</tr>" Return deptRows & str End Function ... End Class 进行了重新标记。错误投诉内容为:

  

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

0 个答案:

没有答案