【问题标题】:Calling all methods define on single aspx page调用在单个 aspx 页面上定义的所有方法
【发布时间】:2016-05-26 08:32:39
【问题描述】:

标题可能让我有些困惑。所以让我解释一下我的要求。

我想检查我的网站已使用的服务是否已启动并正在运行。 为此,我正在使用不同的方法创建 aspx 页面,这些方法将调用每个服务方法来检查服务是否启动并运行。

现在的要求是:我不想在页面加载事件中调用所有这些方法,而是在页面加载时自动调用该页面上定义的每个方法。

这些方法将使用 Response.Write 在页面上写入相应的响应

【问题讨论】:

    标签: asp.net asp.net-mvc c#-4.0


    【解决方案1】:

    您可以为此使用反射:

    public partial class Reflection : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Type type = this.GetType();
            foreach(MethodInfo info in type.GetMethods())
            {
                if (info.Name.StartsWith("DoStuff"))
                    info.Invoke(this,null);
            }
        }
    
        public void DoStuff1()
        {
            Response.Write("DoStuff1<br />");
        }
    
        public void DoStuff2()
        {
            Response.Write("DoStuff2<br />");
        }
    
        public void DoStuff3()
        {
            Response.Write("DoStuff3<br />");
        }
    }
    

    【讨论】:

    • 嗨 Denis 我已经发布了代码 sn-p。如果您对我面临的问题有任何想法,请告诉我.. 提前感谢
    • 您的代码中没有任何以“DoStuff”开头的方法。这就是它不起作用的原因
    • 它仍然没有按预期工作。现在使用上面的代码,它只在第一页加载时工作一次,而不是在我们刷新该页面之后。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    相关资源
    最近更新 更多