0

合理化すらできない奇妙な問題を抱えています。いくつかのテキスト ボックスを含むフォームがあり、そのうちの 1 つがコメント ボックスです。

MVC:

<div class="contactUsTextArea">
    Comments or Questions:<br />
    @Html.TextAreaFor(x => x.Comments, new { maxlength = 990 } )
</div>

レンダリングされた HTML:

<div class="contactUsTextArea">
    Comments or Questions:
    <br>
    <textarea id="Comments" rows="2" name="Comments" maxlength="990" cols="20"></textarea>
</div>

フォームが送信されると、次のコードが実行されます。

public bool SendEmail(ContactUsModel formSubmission) {
    MailMessage email = new MailMessage();
    SmtpClient smtp = new SmtpClient();
    string upc = formSubmission.ProductUpcCode;
    string comments = formSubmission.Comments;
    string comments_small = formSubmission.Comments;

    if (!string.IsNullOrEmpty(formSubmission.ProductUpcCode) && upc.Length > 14 )
        upc = upc.Substring(0, 13);

    if (!string.IsNullOrEmpty(comments) && comments.Length > 990)
        comments = comments.Substring(0, 989);

    if (!string.IsNullOrEmpty(comments_small) && comments_small.Length > 255)
        comments_small = comments_small.Substring(0, 254);

    string bodyText = "FIRST_NAME:" + formSubmission.FirstName + "\n" +
                        "LAST_NAME:" + formSubmission.LastName + "\n" +
                        "COMPANY:" + formSubmission.CompanyName + "\n" +
                        "ADDRESS:" + formSubmission.StreetAddress + "\n" +
                        "CITY_TOWN:" + formSubmission.City + "\n" +
                        "STATE_PROVINCE:" + formSubmission.Province + "\n" +
                        "ZIP_POSTAL:" + formSubmission.PostalCode + "\n" +
                        "COUNTRY:CAN\n" +
                        "EMAIL:" + formSubmission.Email + "\n" +
                        "PHONE:" + formSubmission.PhoneNumber + "\n" +
                        "UPC:" + upc + "\n" +
                        "DATE_CODE:\n" +
                        "BRAND_PRODUCT:" + formSubmission.ProductName + "\n" +
                        "COMMENTS:" + comments_small + "\n" +
                        "FULL_COMMENTS:" + comments + "\n" +
                        "LANGUAGE:English" + "\n" +
                        "OPTIN:N";
    email.From = new MailAddress(ConfigurationManager.AppSettings["emailSubmission_FROM"]);
    email.To.Add(new MailAddress(ConfigurationManager.AppSettings["emailSubmission_TO"]));
    email.Subject = ConfigurationManager.AppSettings["emailSubmission_SUBJECT"];
    email.IsBodyHtml = false;
    email.Body = bodyText;
    email.BodyEncoding = System.Text.Encoding.UTF8;

    smtp.Send(email);            
    return true;
}

(小さいコメントと大きいコメントが必要な理由を聞かないでください。クライアントはクライアントになります)

とにかく、私の問題は、コメント ボックスにコメントを入力すると、次のように返されることです。

http://i.imgur.com/zraNy.png

ただし、貼り付けテキストをコピーすると、次のように返されます。

http://i.imgur.com/doWrw.png

なぜこうなった?

4

2 に答える 2

1

よし...それで、私の問題が何であるかの写真を投稿するだけです...そして、私は永遠に洞窟に隠れて恥をかくつもりです.

http://i.imgur.com/tEiKj.png

みんな助けてくれてありがとう。

于 2012-11-15T19:32:42.793 に答える
1

これが考えられる (私が考えることができる) ことはほんのわずかです。どちらもクライアントに関連しています。

  • \n電子メールクライアントで、本来のようにレンダリングされない何か。Windows では\r\nが標準ですが、多くのアプリケーションでは ' \n' が正しく認識されません。の代わりに改行にそれを使用してみ\nます。
  • また、エンコーディングに関連するクライアントの何か(しかし、私はそれを疑っています)
于 2012-11-15T17:24:22.867 に答える