C# 如何在Asp.net中触发两个函数

C# 如何在Asp.net中触发两个函数,c#,asp.net,C#,Asp.net,嗨,如何在c#中触发函数。若我单击save按钮,数据将存储到SQL并退出代码隐藏。之后,将触发发送电子邮件功能。你能举个例子吗 我想在作业1完成后退出。。但是作业2在代码隐藏中继续。因为发送电子邮件功能需要一些时间… //编码是 受保护的无效DayPilot_EventMove(对象发送方,DayPilot.Web.Ui.Events.EventMoveEventArgs e) { 试一试 } 请注意,有更好的方法可以做到这一点。但由于您是从委派开始的,这将帮助您了解它的工作原理以及可用的功能。

嗨,如何在c#中触发函数。若我单击save按钮,数据将存储到SQL并退出代码隐藏。之后,将触发发送电子邮件功能。你能举个例子吗

我想在作业1完成后退出。。但是作业2在代码隐藏中继续。因为发送电子邮件功能需要一些时间…

//编码是

受保护的无效DayPilot_EventMove(对象发送方,DayPilot.Web.Ui.Events.EventMoveEventArgs e) {

试一试

}


请注意,有更好的方法可以做到这一点。但由于您是从委派开始的,这将帮助您了解它的工作原理以及可用的功能。

了解委派我看到了一些示例。。但是我不明白。。需要清晰简单的示例您可以使用新线程或delgate或worker therad发送邮件此windows编码的可能副本。。。我的编码受保护无效DayPilotCalendarWeek_EventMove(对象发送者,DayPilot.Web.Ui.Events.EventMoveEventArgs e){try{CommonCls com=new CommonCls();//**Job 1:**DayPilotCalendarWeek.DataSource=Moving(e.Id,e.OldStart.ToString(),e.NewStart.ToString());DayPilotCalendarWeek.DataBind();DayPilotCalendarWeek.Update();/**Job 2**SendEmail();}捕获(异常示例){logger.Error(示例ToString());}}}确定,将其与原始问题1关联。在解决方案中添加“TaskDoer”和“SomeTasks”类,“Do”委托。2.用“StoreToSql”方法编写存储到数据库的逻辑,用“SendEmail”方法发送电子邮件。卸下所有Console.Writelines。3.静态void main中写入的所有内容,将其移动到按钮的单击事件处理程序。请像按钮单击事件一样回答。。。我想在作业1完成后退出。。但是作业2在代码隐藏中继续。因为发送电子邮件功能需要一些时间…嗯,你需要异步功能。让我修改我的答案。请更新你的答案\
{ 

    //**Job 1:**
    DayPilotCalendarWeek.DataSource = Moving(e.Id);
    DayPilotCalendarWeek.DataBind();
    DayPilotCalendarWeek.Update();
    //**Job 2** 
    SendEmail();
}
catch (Exception ex)
{

}
// Console

    public class Program
    {
        public static void Main(string[] args)
        {
            TaskDoer td = new TaskDoer();
            td.doTask+=SomeTasks.StoreToSql;
            td.doTask+=SomeTasks.SendEmail;

            td.StartTasks(5);
        }
    }

// delegate

    public delegate void Do(object o);

// class which uses delegate

    public class TaskDoer
    {
        public event Do doTask;

        public void StartTasks(object o)
        {
            doTask(o);
        }
    }

// class which provides method definitions that could be used with the delegate

    public class SomeTasks
    {
        public static void StoreToSql(object o)
        {
            Console.WriteLine ("Stored to SQL");
        }

        public static void SendEmail(object o)
        {
            Console.WriteLine ("Email Sent");
        }
    }