C# 如何使用postal asp.net使抄送字段可选

C# 如何使用postal asp.net使抄送字段可选,c#,asp.net,asp.net-mvc,razor,postal,C#,Asp.net,Asp.net Mvc,Razor,Postal,我在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

我在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

请帮忙!谢谢。

在道具上使用[可选]属性

[可选] 公共字符串CC{get;set;}

提案

您可以使用模型发送数据

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; }       
 }

你离得很近,换个角度就行了。在CC:@Model.CC之前需要“@:”

e、 g


查看@Mohithrivastava我曾尝试使用“可选”数据注释来完成此操作,但在我的项目中找不到它的名称空间,您能告诉我需要为此添加哪个名称空间吗?谢谢您的帮助,但我找不到“可选”的名称空间你能告诉我这个的名称空间是什么吗?
@if (Model.Cc != null)
{
    @:CC: @Model.Cc
}