这个早上一直给我带来麻烦,我希望有更多ASP知识的人可以帮助我!我没有构建这个应用程序,我继承了它,它是用.NET 2.0构建的。
我正在升级生成href = mailto列表的应用。现在它需要运行一些C#代码,所以我开始重新创建它们作为linkButtons。我正在关注这篇文章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来打开一封新的电子邮件发送给用户。我用引号喋喋不休,但我得到的错误是“服务器标签形成不好”。
答案 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>
我认为还有其他方法可以逃避报价,但这只是一个可能的快速解决方案。我刚刚测试过,它运行正常。祝你好运!