从asp.net代码后面的方法设置mailto的正文

时间:2012-09-10 23:23:46

标签: asp.net mailto

我有一个ASP.NET按钮。如果用户单击此按钮,则会调用mailto,这将打开Outlook邮件窗口。我通过在ASP.net按钮控件标记中添加以下行来完成此操作。

window.open('mailto: abc def<abc.def@ex.com>?subject= exSub &body= exBody');

现在我想在我的代码隐藏方法中动态设置正文文本(在上面的例子中是exBody)。我怎么能这样做?

2 个答案:

答案 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属性。