0

GridView中,我正在尝试使用HyperLinkField,我正在尝试将其写入'mailto:'参数DataNavigateUrlFields,但它没有渲染:<a href=''>...</a>。为什么?

4

2 回答 2

0

在 MSDN 论坛上有一段时间的讨论。这次讨论的结果是使用BoundField而不是HyperLinkField

更新

我在我的笔记里找到了。工作代码如下:

<asp:BoundField DataField="Email" 
    DataFormatString="<a href=mailto:{0}>{0}</a>" 
    HtmlEncodeFormatString="false" 
    HeaderText="Email" SortExpression="Email" />

讨论在这里:How to create mailto: in gridview?

于 2013-08-22T08:48:16.400 回答
0

HyperLinkField使用mailto似乎存在问题。

参考:

建议的解决方法是改用 BoundField:

<asp:BoundField DataField="SendTo" 
    DataFormatString="<a href=mailto:{0}>{0}</a>"   
    HtmlEncodeFormatString="false" HeaderText="Email" SortExpression="SendTo" />

或者,模板字段中的 HyperLink 控件:

<asp:TemplateField
HeaderText="E-mail"
SortExpression="Email">

<ItemTemplate>

<asp:HyperLink
ID="HyperLink1"
runat=server
Text='<%# Eval("Email") %>'
NavigateUrl='<%# Eval("Email", "mailto:{0}") %>'
/>

</ItemTemplate>
</asp:TemplateField>
于 2013-08-22T08:49:04.533 回答