我必须关注html代码:
Email: <a href="mailto:...?subject=subject"><asp:Label style="margin-right: 90px;" ID="EmailLabel"
CssClass="InfoData" runat="server" Text="E-mail"></asp:Label></a>
电子邮件:``
如标签所示,我有一个mailto。我需要在mailto上添加一封电子邮件,但这封电子邮件会有所不同,所以我无法对其进行硬编码。我从数据库中获取它,所以我已经拥有它,但是如何将它作为变量添加到html代码中呢?
找到的所有示例都在mailto中编码了硬编码的电子邮件:
答案 0 :(得分:3)
由于你想控制服务器端的值,我建议使用服务器控件,如下所示:
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl="mailto:abc@abc.com"
Text="abc@abc.com">
</asp:HyperLink>
NavigateUrl
和Text
是您要在代码隐藏中与之交互的属性,如下所示:
// Get values from database
string emailAddress = GetEmailFromDatabase();
string subject = GetSubjctFromDatabase();
// Set NavigateUrl to use email address and subject values from above
HyperLink1.NavigateUrl = "mailto:" + emailAddress + "?subject=" + subject;
// You can also set the text of the hyper link here or in the markup
HyperLink1.Text = "Send email to " + emailAddress;
注意:标记设置了
NavigateUrl
值,但您可以将其从标记中删除,或者将其保留,因为代码隐藏将覆盖它。我只是表明该属性存在,而不是试图将您与硬编码值混淆。
答案 1 :(得分:1)
将此添加到您的标记中:
<a id="mailtoLink" href="" runat="server">email</a>
在你的代码背后:
mailtoLink.Attributes["href"] = "mailto:a@a.com";
答案 2 :(得分:1)
尝试使用文字控件:
<asp:Literal id="emailLiteral" runat="server"></asp:Literal>
对于背后的代码:
string emailColumn = YourGetEmailMethod()
emailLiteral.Text = "<a href=""mailto:" + emailColumn + """>Send mail to" + emailColumn + "</a>"
答案 3 :(得分:1)
在你的aspx中
将你的主播的href设置为href =&lt;%= destinationEmail%&gt;
您班级中的代码隐藏(不在方法内)
public string destinationEmail =“mailto:test@test.com”;
然后,您可以将destinationEmail更改为您想要的任何内容。