2016-10-28 11 views
0

私は現在、機器返品eformで作業しています。返品する機器を入力し、送信ボタンをクリックすると、機器リターンチーム。私はまた、サブミットがクリックされたときにプログラムがデータベースにアクセスし、まだユーザーがまだ戻っていないすべての機器を起動する機能を追加しました。次に、まだメールに返されていない機器のグリッドビューを追加します。グリッドビューを電子メールに表示させるには、電子メールをhtmlに変換する必要がありましたが、そうすると、電子メールのフォーマットが破棄され、数行の代わりに1つの大きな段落に挿入されます。 (それが来るどう電子メールをHTML形式に変換すると、電子メールのフォーマットが変更されます

を:

(私はそれをしたいか) こんにちは

ボブ・ジョンソンは、彼らはまた、これらのアイテムを取り出したかもしれ

の28日にスティーブ・ジョンソンにラップトップを戻ってきましたアウト)

こんにちはボブ・ジョンソンは5月 の28日にスティーブ・ジョンソンにラップトップを返した

彼らはまた、これらの項目を取り出しています

私はここでは、電子メールに

} 
    protected void emailconfirmation(ObjectClass obIn_survey); 
    try 
     { 
      s_Body += " Hello" + " \n\n" + 
     "*************** \n" + 
     ob_survey.ob_Name + " " + "has Returned a" + " " + ob_survey.ob_Description_of_Equipment + " " + ob_survey.ob_asset_number + " " + "to" + " " + ob_survey.ob_Returned_To + " " + "(Charger returned, " + ob_survey.Return_Charger + ")" + " on" + " " + ob_survey.ob_Date_of_Return.ToShortDateString() + " " + " \n\n" + 
     " \n\n" + "Regards" + " \n\n" + "RCI Team" + " \n\n" + "This User also has the current Item(s) taken out"; 

      s_GridView = GetGridviewData(gv_Equipment); 





      utility.Email_GenericMessage("[email protected]", ob_survey.ob_Email_Receipt_to + ",[email protected]", "Equipment Return", s_Body + s_GridView); 

      edited the above line 



     } 
     catch (Exception) 
     { 

      throw; 
     } 

を送信するために使用されてきたC#のメソッドが含まれているの下には、ユーティリティクラスのメソッド

public void Email_GenericMessage(String sIn_EmailFrom, String sIn_Emailto, String sIn_Subject, String sIn_Body) 
    { 
     using (MailMessage msg = new MailMessage(sIn_EmailFrom, sIn_Emailto, sIn_Subject, sIn_Body)) 
     { 
      msg.IsBodyHtml = true; 
      using (SmtpClient clt = new SmtpClient(System.Configuration.ConfigurationManager.AppSettings["SmtpServer"])) 
      { 
       clt.Send(msg); 
      } 
     } 

で誰でも助けることはできますか?ありがとう

+3

\ n –

答えて

0

これは文字列置換で解決できるようです。 s_Body.replace("\n", "<br/>");を試しましたか?メッセージhtmlの新しい行は\ nではなく<br/>と表されています。

+0

これはうまくいきました。私はそれが簡単だとは思わなかった –

+0

@ ELIOTRILEYこれはあなたのために働いた場合、私の答えを受け入れてください、ありがとう。 –

0

電子メールを作成するための.htmlレイアウトとプレースホルダを使用します。 これは最も簡単で正しい方法です。

 <!DOCTYPE html> 
    <html> 
    <head> 
     <meta charset="utf-8" /> 

     <title></title> 
    </head> 
    <body> 
     <div>{{NameFirst}}</div> 
     <div>{{NameSecond}}</div> 
     <div>{{Price}}</div> 
     <div>{{InvoiceNumber}}</div> 
    </body> 
    </html> 


    string forReplace = "{{" + prName + "}}"; 

    if (res.Contains(forReplace)) 
    { 
     var prValue = item.GetValue(obj); 

     res = res.Replace(forReplace, prValue.ToString()); 
    } 
+0

の代わりに
を使用してください。大丈夫です。テキストを長辺に追加するには、「価格」などの変数を引用符で囲んで別のdivを追加するだけです。

"this person has"

関連する問題