我为一个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未声明。由于其保护级别,它可能无法访问