質問

クラスを形成してGridViewを作成し、そのGridViewをメールとして送信したいと思います。私は郵送部品を知っていますが、ASPXファイルを使用せずにクラスファイルからグリッドビューを作成する方法。

メソッドはQuartz.netを使用してスケジュールされた時間に呼び出され、そのメソッドはGridViewを作成してメールとして送信するため、そうしています。それがどのようにできるか何か提案はありますか?

編集:
このグリッドビューには、各スタッフが「n」の作品を「n」しているスタッフ(すなわち)のための毎日の作品が含まれています。そのため、foreachループ内でグリッドビューを動的に生成しました。それはどのようにできますか?

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);
    }
    ...
}
役に立ちましたか?

解決

GridViewを作成するのではなく、StringBuilderを使用してHTMLテーブルを作成することをお勧めします。

これが同様の投稿です データテーブルをHTMLテーブルに変換します

他のヒント

あなたの要件を正しく理解しているかどうかは少し不明ですが、コードを使用して動的にグリッドビューを作成できます

Gridview myGrid = new GridView() 

System.web.uiの名前空間を参照している限り、そのクラスの名前空間。

また、GridViewにはメソッドがあります

    public virtual void RenderControl(HtmlTextWriter writer)

グリッドHTMLを使用してHTMLTextWriterを取得するために使用できます。

編集から - sendmail()メソッドでHTMLコンテンツまたはgridViewを作成したいと思いますか?

その場合、次の方法を選択できます

  • ASPXページを作成します
  • GridViewを入れて、Datatableでバインドします
  • httpwebrequestオブジェクトを作成し、新しく作成されたASPXページを呼び出します
  • httpwebreaponseを使用してコンテンツをお読みください
  • このコンテンツを使用してメールを送信します。

httpwebrequestとhttpwebreaponseを使用するのに役立つ記事をいくつか紹介します

asp.netでhttpwebrequestおよびhttpwebreaponseを使用しています
httpwebreasponseクラス
httpwebrequestクラス

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top