我们知道,在GridView中可以使用HyperLinkField生成一个超链接,但是这个超链接只能是普通的http的超链接,如果想做一个邮件的链接(mailto:user@abc.com)似乎就不起作用了。
比如向下面的这段代码,看似能可以,但实际却不能生成邮件链接:
为了能使用邮件链接,我们只能改用模板列,正确的代码见下:
PS:绑定代码必须使用单引号括起来,使用双引号是无效的。我第一次写C#代码时,就使用了双引号,结果总会死出不来;不用引号有提示错误。
比如向下面的这段代码,看似能可以,但实际却不能生成邮件链接:
<asp:HyperLinkField DataNavigateUrlFields="mail" DataNavigateUrlFormatString="mailto:{0}" DataTextField="mail" />
上述代码实际显示的只有text内容,而超链接没有href属性,如下:<a >user@abc.com</a>。为了能使用邮件链接,我们只能改用模板列,正确的代码见下:
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink runat="server" Text='<%# Eval("mail") %>' NavigateUrl='<%# Eval("mail", "mailto:{0}") %>' />
</ItemTemplate>
</asp:TemplateField>
<ItemTemplate>
<asp:HyperLink runat="server" Text='<%# Eval("mail") %>' NavigateUrl='<%# Eval("mail", "mailto:{0}") %>' />
</ItemTemplate>
</asp:TemplateField>
PS:绑定代码必须使用单引号括起来,使用双引号是无效的。我第一次写C#代码时,就使用了双引号,结果总会死出不来;不用引号有提示错误。