C# 如何在Asp.net中触发两个函数
嗨,如何在c#中触发函数。若我单击save按钮,数据将存储到SQL并退出代码隐藏。之后,将触发发送电子邮件功能。你能举个例子吗 我想在作业1完成后退出。。但是作业2在代码隐藏中继续。因为发送电子邮件功能需要一些时间… //编码是 受保护的无效DayPilot_EventMove(对象发送方,DayPilot.Web.Ui.Events.EventMoveEventArgs e) { 试一试 }C# 如何在Asp.net中触发两个函数,c#,asp.net,C#,Asp.net,嗨,如何在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");
}
}