【问题标题】:ASP.Net email has hyperlink supposed to open in new windowASP.Net 电子邮件的超链接应该在新窗口中打开
【发布时间】:2015-05-04 20:20:38
【问题描述】:

我正在尝试发送一封电子邮件,其中包含一个超链接,单击该超链接应该会在新窗口或选项卡中打开目标页面。但是我遇到的问题是查询字符串变量“item_id”和“目标”标签之间没有空格。

正如您在下面看到的,目标正在查询字符串变量上运行,从而导致页面错误。这就是在运行时形成链接的方式。

http://www.mystore.com/item.aspx?id=1target='_blank'

我需要让链接看起来像这样: http://www.mystore.com/item.aspx?id=1target='_blank'

下面是我正在使用的代码。在引号中包含“目标”,我在“目标”之前有一个空格。但运行时空间不存在。

Dim viewLink As String

viewLink="<a href=" + "http" + "://www.mystore.com/item.aspx?id=" + item_id + " target=" + "_blank" + ">" + "View Item" + "</a>" + "<br/><br/>"

谁能告诉我如何解决这个问题?

【问题讨论】:

  • 你不必要地破坏了你的字符串。
  • 另外,您生成的 HTML 在属性值周围缺少必需的引号。

标签: javascript html asp.net vb.net


【解决方案1】:

使用String.Format 更清晰,并在字符串中添加空格。并使用"" 让VB 写一个双引号字符。

Dim viewLink as String = String.Format( _
    "<a href=""http://www.mystore.com/item.aspx?id={0}"" target=""_blank"">View Item</a><br /><br />", _
    item_id _
)

这将呈现如下:

<a href="http://www.mystore.com/item.aspx?id=123" target="_blank">View Item</a><br /><br />

也就是说,无论使用何种电子邮件客户端(例如桌面 Outlook、GMail 等),电子邮件中的链接通常都会在新窗口中打开,因此无需添加明确的 target="_blank"

【讨论】:

  • @mj168 哇,我感觉自己仿佛被传送回了 1999 年。“屏保!”和“IMAP 测试程序”。 :S
  • 对您的示例进行了一些调整并使其正常工作。谢谢!
猜你喜欢
  • 1970-01-01
  • 2012-02-04
  • 2017-04-12
  • 1970-01-01
  • 2012-07-29
  • 1970-01-01
  • 2017-12-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多