使用LinkBut​​ton启动具有ASP值的客户端电子邮件

时间:2014-06-25 13:02:39

标签: javascript asp.net

这个早上一直给我带来麻烦,我希望有更多ASP知识的人可以帮助我!我没有构建这个应用程序,我继承了它,它是用.NET 2.0构建的。

我正在升级生成href = mailto列表的应用。现在它需要运行一些C#代码,所以我开始重新创建它们作为linkBut​​tons。我正在关注这篇文章How to launching email client on LinkButton click event?,但我还有一步。

<asp:Repeater DataSourceID="sdsUserList" runat="server">
    <ItemTemplate>
        <li>
            <asp:LinkButton ID="lbEmail" runat="server" Text='<%# Eval("UserName") %>' OnClientClick="window.open('mailto:<%# Eval("UserEmail") %>', 'email')" OnClick="lblEmail_Click" />
        </li>
    </ItemTemplate>
</asp:Repeater>

我需要OnClientClick来打开一封新的电子邮件发送给用户。我用引号喋喋不休,但我得到的错误是“服务器标签形成不好”。

1 个答案:

答案 0 :(得分:1)

它可能是OnClientClick的引用。你需要改变这个:

OnClientClick="window.open('mailto:<%# Eval("UserEmail") %>', 'email')"

您可以尝试使用Eval语句作为参数调用函数。例如:

OnClientClick='<%# String.Format("javascript:return SendEmail(\"{0}\")", Eval("UserEmail").ToString()) %>'

<script type="text/javascript">
    function SendEmail(email){
        window.open("mailto:" + email);
    }

</script>

我认为还有其他方法可以逃避报价,但这只是一个可能的快速解决方案。我刚刚测试过,它运行正常。祝你好运!