3

我在我的 asp.net mvc 应用程序中使用 postal 使用邮政服务发送电子邮件现在问题是我必须仅在特定情况下发送 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

您非常接近,只需更改视图即可。抄送前需要“@:”:@Model.Cc

例如

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

在你的道具上使用 [Optinal] 属性。

[可选] 公共字符串 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 回答