3

asp.net mvcアプリケーションで郵便サービスを使用して電子メールを送信するために郵便を使用していますが、問題は特定の場合にのみCC電子メールを送信する必要があり、このフィールドをオプションにする必要があることですが、これまでのところ。以下は、このための私のコードです:

ファイルを閲覧する:

@model OAC.Helpers.EmailHelper

To: @Model.To
Form: @Model.From
CC: @Model.CC
Subject: @Model.Subject


Hello,

@Model.Body

@Model.Link

public class EmailHelper : Email
{
    public string To { get; set; }
    public string CC { get; set; }
    public string Body { get; set; }
    public string Subject { get; set; }
    public string From { get; set; }
    public string Link { get; set; }
    public static void SendEmailNotification(string emailAddress, string body, string link, string subject, string from = "OAC Support", string CC = null)
    {
        // Prepare Postal classes to work outside of ASP.NET request
        var viewsPath = Path.GetFullPath(HostingEnvironment.MapPath(@"~/Views/Emails"));
        var engines = new ViewEngineCollection();
        engines.Add(new FileSystemRazorViewEngine(viewsPath));
        var emailService = new EmailService(engines);
        var email = new EmailHelper
        {
            To = emailAddress,
            CC = CC, 
            Body = body,
            Subject = subject,
            From = from,
            Link = link
        };
        emailService.Send(email);
    }
}

ここで、ビューの CC フィールドをオプションにして、CC が「null」のときにビューが「@Model.CC」フィールドを無視するようにします。次のようなもの:

@model OAC.Helpers.EmailHelper

To: @Model.To
Form: @Model.From
if(Model.CC != null)
{
 CC: @Model.CC
}
Subject: @Model.Subject


Hello,

@Model.Body

@Model.Link

親切に助けてください!ありがとうございました。

4

2 に答える 2

2

あなたは非常に近かったです。ビューを変更するだけです。CC の前に「@:」が必要: @Model.Cc

例えば

@if (Model.Cc != null)
{
    @:CC: @Model.Cc
}
于 2016-02-19T14:02:09.620 に答える
-1

プロップで [Optinal] 属性を使用します。

[オプション] public string CC { get; 設定; }

提案

モデルを使用してデータを送信できます。

public class EMailModel
{

        public string To { get; set; }
        [Optinal]
        public string CC { get; set; }
        public string Body { get; set; }
        public string Subject { get; set; }
        public string From { get; set; }
        public string Link { get; set; }       
 }
于 2015-12-21T06:26:43.083 に答える