从正在调用帮助程序方法的页面上的帮助程序类调用方法
本文关键字:帮助程序 调用 方法 | 更新日期: 2023-09-27 18:31:12
我有 3 ASP.NET 页。 每个方法都有自己的 GetSearchResult 方法,该方法生成不同的搜索结果并填充 GridView。 每个页面从帮助程序类调用共享帮助程序方法。
现在,在此帮助程序类中,我想执行属于调用帮助程序方法的页面上的 GetSearchResult 方法。
这可能吗? 如果是这样,我应该怎么做?
将
拥有方法 GetSearchResult 的类的实例作为参数传递给帮助程序方法。这将允许帮助程序方法访问调用方方法。您将需要实现一个接口来执行此操作。
public interface ISearchable
{
void GetSearchResult();
}
public class MyPage : Page, ISearchable
{
public void GetSearchResult() {
HelperClass.HelperMethod(this); // Pass in
}
}
public static class HelperClass
{
public static void HelperMethod(ISearchable page) {
page.GetSearchResult();
}
}
可以将对页面的引用作为参数传递给帮助程序方法,并在页面上再次调用 GetSearchResult。(理想情况下,你的页面应该实现一个接口,比如ISearchPage,其中包含方法GetSearchResult)
[编辑:当我输入上述内容时,大卫安德森在他的答案中提供了代码]
或者,从帮助程序方法中,在帮助程序对象上设置状态标志(或使用状态枚举)。在您的页面中,您可以读取该标志或枚举值,如果状态显示应再次调用 GetSearchResult,请再次调用它。