我有一个ASP.NET按钮。如果用户单击此按钮,则会调用mailto
,这将打开Outlook邮件窗口。我通过在ASP.net按钮控件标记中添加以下行来完成此操作。
window.open('mailto: abc def<abc.def@ex.com>?subject= exSub &body= exBody');
现在我想在我的代码隐藏方法中动态设置正文文本(在上面的例子中是exBody)。我怎么能这样做?
答案 0 :(得分:5)
您可以按照以下方式在代码隐藏中的Click
事件按钮中注册脚本:
string mailBody = getMailBody(); //// Get the content for email body
ClientScript.RegisterStartupScript(this.GetType(), "mailto",
"window.open('mailto: abc def<abc.def@ex.com>?subject= exSub &body= "+ mailBody +"');", true);
答案 1 :(得分:1)
将其绑定到页面属性,并使用该属性构造 mailto 属性(URL-encoded):
<asp:Button RunAt = "Server"
onclick = <%#
"window.open('mailto: abc def<abc.def@ex.com>?subject= exSub &body="
+ Server.UrlEncode(MailToBody ?? "") + "');"
%>
/>
然后根据需要从代码隐藏中设置MailToBody
属性。