我有一个gridview,我想在其中加载用户详细信息。在这个gridview中,我想让用户的电话号码成为一个超链接。这样他们就可以点击链接,它会使用手机上存储的手机软件自动拨打该号码。如果您在html中使用以下语法,这可以正常工作:
<a href = "tel:07123456789">07123456789</a>
我的问题是我想在一个播放电话号码的gridview中这样做。 html必须首先在它前面加上'tel:'位。我试过一切请帮忙!我想要上面但是要在gridview中使用加载的HomeNo渲染电话号码应该是...... HElp! gridview的:
<asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="ds">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" />
<asp:HyperLinkField DataTextField="HomeNo" HeaderText="HomeNo" NavigateUrl="tel:" />
</Columns>
</asp:GridView>
答案 0 :(得分:3)
<asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="ds">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" />
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# Eval("HomeNo", "tel:{0}") %>'
Text='<%# Eval("NomeNo") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
答案 1 :(得分:2)
如果你有数据需要在DataGrid的DataBound
事件中做一些代码,你需要在一个内部执行此操作
例如我将姓名和电子邮件地址作为我当前数据网格中的链接,这是我的工作方式
<asp:TemplateColumn HeaderText="Scheduler" HeaderStyle-Font-Bold="true" HeaderStyle-Width="145">
<ItemTemplate>
<a href='<%#Eval("Email_Address") %>' ><%# Eval("Scheduler") %></a>
</ItemTemplate>
<HeaderStyle Font-Bold="True" />
</asp:TemplateColumn>
protected void dgShippers_DataBinding(object sender, EventArgs e)
{
foreach (DataRow r in dtShippers.Rows)
{
if (!System.Uri.IsWellFormedUriString(r.ItemArray[3].ToString(), UriKind.Absolute))
{
var tempHref = "<a href=mailto:" + r.ItemArray[4].ToString() + " />" + r.ItemArray[3].ToString()+ "</a>";
r.Table.Rows[0]["Scheduler"] = tempHref;
}
}
}