Question

Je veux créer une forme de gridview une classe et d'envoyer ce gridview comme courrier. Je sais que la partie de diffusion, mais comment créer un gridview à partir d'un fichier de classe sans utiliser un fichier ASPX.

Je le fais parce qu'une méthode est appelée à une heure programmée en utilisant quartz.net et cette méthode va créer un gridview et l'envoyer comme courrier. Toute suggestion comment il peut être fait?

EDIT: Ce gridview contient des œuvres quotidiennes pour le personnel (ndlr) chaque membre du personnel a « n » nombre d'œuvres. J'ai donc générer dynamiquement une gridview dans une boucle foreach. Comment ça peut se faire?

using Quartz;
public class SendMailJob : IJob
{
    public void Execute(JobExecutionContext context)
    {
        SendMail();
    }
    private void SendMail()
    {
        // put your send mail logic here
    }
}

et 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);
    }
    ...
}
Était-ce utile?

La solution

Je recommande la création d'une table HTML à l'aide StringBuilder plutôt que de créer GridView.

Voici un poste similaire Convertir DataTable au Tableau HTML

Autres conseils

suis un peu incertain si je comprends bien votre exigence correctement, mais vous pouvez créer un gridview dynamiquement à partir du code en utilisant

Gridview myGrid = new GridView() 

aussi longtemps que vous avez fait référence à l'espace de noms System.Web.UI de cette classe.

En outre, le procédé a un GridView

    public virtual void RenderControl(HtmlTextWriter writer)

que vous pouvez utiliser pour obtenir un HtmlTextWriter avec le HTML Grids que vous pouvez transmettre à votre classe emailing

De vous modifier - Je suppose que vous voulez créer du contenu html ou gridview dans la méthode SendMail (), à droite

?

Dans ce cas, vous pouvez choisir la méthode suivante

  • Créer une page ASPX
  • mettre votre gridview en elle et se lient avec datatable
  • Créer un objet HttpWebRequest et appel nouvellement créé page ASPX
  • lire le contenu en utilisant HttpWebResponse
  • utiliser ce contenu à envoyer des messages.

voici quelques articles qui vous aideront à HttpWebRequest et HttpWebResponse

travail avec HttpWebRequest et HttpWebResponse dans ASP.NET
HttpWebResponse classe
HttpWebRequest classe

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top