我正在填充电子邮件模板,但按钮 onclick 事件出现了一些问题。

我想要实现的是当单击按钮时,它应该在新窗口而不是新选项卡中打开一个 URL。

目前,当电子邮件被发送时,它正在失去 onclick 事件功能。 关于如何实现这一目标的任何建议?

我还尝试在 html 模板中创建按钮,而不是将标签替换为下面的代码,但仍然遇到相同的问题。

HTML代码:

    <p>
        Hi,
    </p>
    <p>
        A [JobType], to start on [JobStartDate]
        <br />
        Click here to view the job: [JobUrl]
    </p>
    <p>
        <b>Job Details:</b>
        <br />
        - Reference: [JobReferenceNumber]
        <br />
        - Checklist: [AnswerEvaluationName]
        <br />
        - Created by: [JobCreator]
        <br />
    </p>
    <p>
        Kind regards<br />
    </p>
    <p class="auto-style6">
        Please do not reply to this system generated email
    </p>
</body>
public void CreateEmailNotificationForNewJob()
{
   // Populate the Email Template
   string EmailRecipientTestingNotes = "";
   string EmailSubject = "";
   string EmailTemplate = EmailSender.LoadEmailTemplate("EmailNewJob.html");
   string EmailTo = "";
   string TestButton = ("<input type=\"button\" onclick=\"window.open('https://www.google.com/','mywin','width=500,height=500');\" >");

   EmailSubject = "Job/task ";
   EmailTemplate = EmailTemplate.Replace("[JobReferenceNumber]", "Reference");
   EmailTemplate = EmailTemplate.Replace("[AnswerEvaluationName]", "Daily Update");
   EmailTemplate = EmailTemplate.Replace("[JobStartDate]", "Today");
   EmailTemplate = EmailTemplate.Replace("[JobType]", "1");
   EmailTemplate = EmailTemplate.Replace("[CompanySiteName]", "");
   EmailTemplate = EmailTemplate.Replace("[SiteName]", "");
   EmailTemplate = EmailTemplate.Replace("[JobUrl]", TestButton);

   EmailTo = "test@test.co.za";

   try
   {
      // Send email code
   }
   catch (Exception ex)
   {
      // Add handling
   }
}

#1楼 票数:3

大多数电子邮件客户端不允许像浏览器那样执行 JavaScript(通常这是出于安全原因)。

但是,如果您想创建指向要在电子邮件中显示的 URL 的链接,您可以只使用超链接而不是按钮。 (当然,如果您愿意,您当然可以始终使用 CSS 使其看起来像一个按钮。)

string TestButton = ("<a href='https://www.google.com/'>Click here</a>");

#2楼 票数:0

电子邮件客户端不接受 JavaScript。 您能做的最好的事情是使用目标属性设置为 _blank 的标准链接:

string TestButton = ("<a href='www.blah.com' target='_blank'>link text</a>");

话虽如此,大多数电子邮件客户端无论如何都会在新/空白选项卡中打开。 但是,这对于使用单击“在浏览器中查看此电子邮件”的用户仍然很有帮助(例如,在 Outlook 桌面上,这是自动生成的)。

#3楼 票数:0

只需使用超链接而不是按钮,因为电子邮件客户端不接受 JavaScript。 当然你可以使用css让它看起来像一个按钮。

按钮:

string TestButton = ("<a class='button' href='https://www.google.com/'>Click here</a>");

css:

.button {
font: bold 11px Arial;
text-decoration: none;
background-color: #EEEEEE;
color: #333333;
padding: 2px 6px 2px 6px;
border-top: 1px solid #CCCCCC;
border-right: 1px solid #333333;
border-bottom: 1px solid #333333;
border-left: 1px solid #CCCCCC;
}

  ask by Miguel Reece translate from so

未解决问题?本站智能推荐:

2回复

如何保存javascript代码生成的html,以便通过电子邮件发送?

我想转换我编写的C#API,并生成(静态)html页面(主要用于渲染数据表),使用angularjs。 目标是更好地分离数据和html,允许交互(例如,按列排序)/重用数据,这超出了静态html页面所能提供的范围。 现在的问题是,只要我使用JS生成我的页面的一部分,我就不能再通过电子邮件发
3回复

HTML如何在新窗口中打开此URL?

这是代码: 我已经尝试过了: 但没有工作
3回复

用C#编写HTML代码

我想做的是 我想将数据插入C#代码的表中(也许使用html?),因此在邮寄时看起来很干净。
5回复

在新窗口中打开按钮?

我将如何在新窗口中打开按钮,模拟“a href,target = _blank”? 我目前有: 该按钮不在窗体中,我只想在新窗口中打开它。
2回复

如何在我的html电子邮件中添加“分段符”?

我正在尝试在我生成的电子邮件中添加分段符。 我已经尝试了Environment.NewLine并添加了多个html段落: 在两种情况下,文本部分之间都没有垂直分离。 我需要什么箍来完成这个? 对于上下文,这是整个方法:
2回复

HTML表格在C#中格式不正确

我正在使用 C# 在 .NET 中开发 API。 我正在尝试以正确的格式发送电子邮件(当委派规则分配给特定用户时。) 这是我迄今为止尝试过的代码块。 我收到这种格式的电子邮件,这是一种错误的格式。 我的电子邮件应该是这样的... 将单列分成两列时如何正确对齐线条? 第th列与td值不对齐。 .
3回复

在c#中将HTML文件分配给Message.Body

我想为电子邮件正文分配一个完整的 HTML 文件,我想将此文件分配给邮件正文,我输入: message.IsBodyHtml = true; 我可以用它来逐行分配 但是有没有办法将完整的 HTML 文件分配给正文? 我有一个包含电子邮件正文设计的 HTML 文件。 希望清楚。 提前致谢
1回复

MVC4C#Web项目的HTML电子邮件转换

我目前在Visual Studio 2012中从事MVC4 C#项目的工作。我们最近添加了一个向用户发送电子邮件的系统。 系统使用MailMessage类来格式化通过SmtpClient类发送的消息。 此消息的属性为html,以使正文文本具有某种视觉格式。 问题在于,当前将message