我想创建一个类的gridview表单并将该gridview作为邮件发送。我知道邮件部分,但如何在不使用aspx文件的情况下从类文件创建gridview。
我这样做是因为将使用quartz.net在预定时间调用方法,该方法将创建gridview并将其作为邮件发送。有什么建议可以做到吗?
修改
这个gridview包含员工的日常工作(即)每个员工都有'n'个作品。所以我在foreach循环中动态生成gridview。怎么做?
using Quartz;
public class SendMailJob : IJob
{
public void Execute(JobExecutionContext context)
{
SendMail();
}
private void SendMail()
{
// put your send mail logic here
}
}
和global.asax,
using Quartz;
using Quartz.Impl;
public class Global : System.Web.HttpApplication
{
void Application_Start(object sender, EventArgs e)
{
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// construct job info
JobDetail jobDetail = new JobDetail("mySendMailJob", typeof(SendMailJob));
// fire every day at 06:00
Trigger trigger = TriggerUtils.MakeDailyTrigger(06, 00);
trigger.Name = "mySendMailTrigger";
// schedule the job for execution
sched.ScheduleJob(jobDetail, trigger);
}
...
}
答案 0 :(得分:2)
我建议使用StringBuilder创建一个html表,而不是创建GridView。
以下是类似的帖子Convert DataTable to HTML Table
答案 1 :(得分:0)
有点不确定我是否正确理解了您的要求,但您可以使用
从代码中动态创建gridviewGridview myGrid = new GridView()
只要您从该类引用了System.Web.UI命名空间。
此外,GridView还有一个方法
public virtual void RenderControl(HtmlTextWriter writer)
您可以使用它来获取带有网格HTML的HTMLTextWriter,然后将其传递给您的电子邮件类
答案 2 :(得分:0)
从你编辑 - 我假设你想在SendMail()方法中创建html内容或gridview,对吗?
如果是这样,您可以选择以下方法
这里有一些文章可以帮助你使用httpwebrequest和httpwebresponse
Working with HttpWebRequest and HttpWebResponse in ASP.NET
HttpWebResponse Class
HttpWebRequest Class